目录
1. 准备工作
1.1 下载SDK
私信
1.2 SDK解压
1). 下载的SDK源文件为xxx.tar.gz,使用tar命令进行解压缩
tar -zxvf xxx.tar.gz
2). 解压出来的是.repo工程,需要使用repo进行同步
Repo sync -l
3). 将.repo中的project目录拷贝出来,就是我们需要的sdk了
注意:
- repo中的都是git,一定要去了解一下repo是什么东西,它是一些列git仓库的集合
- 记得不要删除
.repo
,它是后续git比较的原始点
2. SDK编译
2.1 系统编译
-
1.进入到SDK的根目录
-
2.设置环境变量
source build/envsetup.sh
- 3.选择对用的芯片
lunch
此处以R328为例,选择r328s3_std-tina
- 4.编译
make [-jN] # -jN表示使用多少个线程来进行编译;默认是一个线程工作
- 5.打包img系统
pack [-d] #-d,打包成card0,即将固件信息通过tf卡进行输出;无-d,打包成uart0
2.2 编译boot
2.3 编译内核
2.4 编译应用程序
确保进行过一次固件的编译,确保 SDK 基础已经编译,才能单独重编应用包。
重编应用包应用场景一般为:只修改了应用,不想重新烧写固件,只需要安装应用安装包即可
.
2.4.1 方法1
在应用包目录(或者其子目录)时,可执行:
mm [-B] #B为先clean,再编译
编译好的应用放置于:tina/out/<chip>/packages/base
中
2.4.2 方法2
在根目录下,可执行:
make <应用程序目录>/clean #清空应用包临时文件
make <应用程序目录>/install #编译应用包
make <应用程序目录>/{clean,install} #合并以上两句
3. 系统烧录
系统烧录的步骤如下:
1). 下载 (提取码:708u) 并安装PhoenixSuit软件
2). 选择驱动:(第一次使用时)
【设备管理器件】
-> 【端口(COM和LPT)】(或者【其它设备】)
-> 选择【USB-SERIAL xx】(-【未知设备】)
-> 右击【属性】
-> 选择驱动文件【PhoenixSuit_V1.10\Drivers\AW_Driver】
情况1:
情况2:
3). 将需要烧录的板子通过串口线(带adb),将电脑和板子进行连接,连接如图所示:
4). 打开PhoenixSuit,选择【一键刷机】,选择你的系统文件
5). 回到首页,观察是否有类似下面的界面:
- 若有,【一键刷机】界面,点击【立即升级】;
- 否则,进行下一步
注意:请保证一次只插入一个开启了adb的智能设备,否则会造成冲突。
6). 短接Flash的同时,给开发板重新上电
- 具体短接那个引脚,请联系硬件确认
- 开发板会跳出“开始升级”的界面,如下图,全部选择【是】,等待烧录完成即可
7). 或者:串口的shell中,输入 【reboot efex】
- NOTICE:Terminal中快速烧录指令:reboot efex
4. 系统操作
4.1 打补丁
系统升级均采用打补丁的形式,打补丁的命令如下:
patch -p<X> < xxxx.patch #X代表就是所要舍弃的层级目录
具体 patch
的用法,请自行百度
4.2 系统默认值
如第二章,执行完 source
和 lunch
指令后,可使用如下指令进入到对应平台的目录(此处以R328为例)
croot #回到顶层根目录
ckernel #进入指定内核:lichee/linux-4.9
cboot #进入uboot目录:lichee/brandy-2.0/u-boot-2018
cdevice #进入设备目录:target/allwinner/r328s3-std
ctoolchain #进入默认的编译器目录:prebuilt/gcc/linux-x86/arm/toolchain-sunxi-glibc/toolchain
4.3 默认指令
更多指令,可以直接 vim build/envsetup.sh
进行查看