准备工作
创建 Git 仓库
如果使用了 git clone 获取的代码,则表示已经存在 Git 仓库,可以略过此步。
如果不是直接下载的代码,则需要手动创建一下本地 Git 仓库,具体操作如下:
sudo apt-get install git //安装 Git
git init //创建本地仓库
git add * //添加所有代码到本地仓库暂存区
git commit -m "init" //将暂存区的代码提交到本地参考
创建 Git 仓库,有助于执行下列操作:
-
跟踪修改的历史记录。
-
方便进行修改回退,防止调试代码影响开发工作。
修改配置文件
- BootLoader:用来完成内存初始化,刷机,升级等工作,在 OS 启动后会被自动释放。
-
命名:IC_demo + 引脚数-存储类型_baremetal_bootLoader
-
示例 d21x_demo128-nand_rt-thread_helloworld
-
- RT-Thread:固件的核心,由 OS 和 Application 等组成
-
命名:IC_demo + 引脚数-存储类型_os 类型_application
-
示例
-
示例 d13x_demo88-nor_rt-thread_helloworld_defconfig
-
生成固件
每一块开发板可以对应一个工程,工程的代码存放于 target/ic/ 目录下。 关于代码结构的详细说明,可查看准备代码。
在进行工程编译前,可以使用已有的工程,也可以建一个给开发板使用的独立工程,详细流程如下:
-
选择已有工程:
选择一个合适的工程可以减少修改配置的工作量,可遵照以下优先级顺序:-
主控: D21x、D13x、D21x
-
系统:RT-Thread、FreeRTOS
-
存储:SPINAND、SPINOR、eMMC
表 1. 工程文件优先级顺序 工程名称
存储
封装
Memory
屏幕
其它功能
d12x_demo68-nand
SPINAND
QFN68
PSRAM
RGB888
RS485,RS232,UART,SDIO WIFI,TFCARD
d12x_demo68-nor
SPINOR
QFN68
PSRAM
RGB
RS485,RS232,UART,SDIO WIFI,TFCARD
d12x_hmi-nor
SPINOR
QFN68
PSRAM
RGB
JART,TFCARD
d13x_demo88-nand
SPINAND
QFN88
PSRAM
LVDS
RTP/CTP,UART,RTC,SDCARD,DMIC
d13x_kunlunpi88-nor
SPINOR
QFN88
PSRAM
RGB565
CTP,SDCARD,DVP,RS485
d21x_demo128-nand
SPI NAND
QFN128
128M ddr3
LVDS
CTP,MAC,CAN,SDCARD,USB
g73x_demo100-nor
SPINOR
QFN100
SRAM
QSPI
CTP,2xGMAC,SDCARD,WiFi,2xUSB,RS485
-
-
建立新工程:使用 add-board 命令创建新板子对应的工程。
该命令会参考某一个已经存在的工程建立一个全新命名的工程, 参考工程的选择依然需要按照存储、屏幕和封装的优先级进行。scons --add-board
scons: Reading SConscript files ... Chip list: 0: xxxxx 1: d12x 2: d13x 3: d21x Select chip for new board(number):2 d13x Reference defconfig:(Create new board base on selected defconfig): 0: d13x_demo88-nand_rt-thread_helloworld_defconfig 1: d13x_demo88-nor-xip_rt-thread_helloworld_defconfig 2: d13x_demo88-nor_baremetal_helloworld_defconfig 3: d13x_demo88-nor_rt-thread_helloworld_defconfig 4: d13x_per1-nand_baremetal_helloworld_defconfig 5: d13x_per1-nand_rt-thread_helloworld_defconfig 6: d13x_per1-nor_baremetal_helloworld_defconfig 7: d13x_per1-nor_rt-thread_helloworld_defconfig Select reference defconfig for new board(number):0 d13x_demo88-nand_rt-thread_helloworld_defconfig Input new board's name:test test Input new app's name: (default helloworld)test test Copy luban-lite/target/configs/d13x_demo88-nand_rt-thread_helloworld_defconfig to luban-lite/target/configs/d13x_test_rt-thread_test_defconfig Copy luban-lite/target/configs/d13x_demo88-nand_baremetal_bootLoader_defconfig to luban-lite/target/configs/d13x_test_baremetal_bootLoader_defconfig Copy luban-lite/target/d13x/demo88-nand to luban-lite/target/d13x/test Add board test for test succeed!
-
选择合适的工程后,可以使用以下命令编译工程:
-
列出当前所有的工程默认配置
list
-
加载应用上述列表其中一条工程配置
lunch <配置编号>

准备工作完成后应该能够顺利编译出固件。
-
