1# Rockchip RK2108 BSP说明 2 3--- 4 5**目录** 6 7[TOC] 8 9--- 10 11## 简介 12 13本文档为Rockchip RK2108 (ARM Cortex-M4F with Cache)的BSP说明。目录结构如下: 14 15```shell 16bsp/rockchip 17|-- common 18| |-- drivers # RT-Thread OS适配层通用驱动 19| |-- rk_hal # Rockchip HAL 硬件抽象层实现 20| | |-- lib 21| | | |-- bsp # 芯片相关的初始化和功能实现 22| | | |-- CMSIS # 标准CMSIS库 23| | | `-- hal # HAL 通用驱动 24|-- rk2108 25| |-- application # 应用程序 26| |-- board # 板级支持 27| | |-- common # 通用板级支持 28| | `-- rk2108_evb # rk2108_evb 板级支持 29| |-- driver # RK2108 私有驱动目录 30| `-- image # 存放打包固件 31`-- tools # Rockchip 通用工具 32``` 33 34## 开发流程 35 36### 编译 37 38在bsp/rockchip/rk2108下进行操作。 39 40```shell 41cd bsp/rockchip/rk2108 42./mkimage.sh 43``` 44 45### 打包 46 47使用Rockchip工具resource_header_tool和firmware_merger进行固件打包,分区配置文件为setting.ini。固件打包命令在脚本mkimage.sh中一起完成。完成固件打包后能得到Firmware.img。 48 49这里对loader相关文件进行说明: 50 51- rk2108_loader.bin:用于启动引导的loader,将与rtthread.bin一起打包 52- rk2108_loader_fake.bin:由于Rockchip固件打包时IDBlock格式要求固定需要两个bin文件,因此在没有外挂psram使用psram.bin的情况下需要增加一个没有实际作用的loader_fake.bin文件。 53- rk2108_db_loader.bin:用于固件烧写的loader。 54 55### 下载 56 57保持maskrom按键按下的状态,然后重新上电或者按下reset按键,即可进入maskrom模式。 58 59在Linux环境下,使用Rockchip工具upgrade_tool进行固件升级,脚本命令如下: 60 61```shell 62sudo ./upgrade_firmware.sh 63``` 64 65如果没有sudo权限,请联系管理员修改rule.d,让Rockchip的设备节点有rw权限。请管理员在/etc/udev/rules.d下面创建文件70-usbboot.rules。注意,不同的系统版本70-usbboot.rules文件命名的前缀数字不同。 66 67```shell 68cd /etc/udev/rules.d 69sudo touch 70-usbboot.rules 70``` 71 72在70-usbboot.rules文件中增加以下内容,其中“2207”为Rockchip USB设备的VID。 73 74```shell 75SUBSYSTEM=="usb", ATTRS{idVendor}=="2207", GROUP="plugdev", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1" 76``` 77 78完成以上修改后,普通用户使用Rockchip工具upgrade_tool进行固件升级,脚本命令如下: 79 80```shell 81./upgrade_firmware.sh 82``` 83 84在Windows环境下,使用Rockchip工具RKDevTool进行固件升级,首次使用前需要安装驱动程序DriverAssitant。工具获取请联系Rockchip。 85 86## 维护 87 88Steven Liu : steven.liu@rock-chips.com 89