首页 > 其他分享 >全志SDK - 1. 系统编译

全志SDK - 1. 系统编译

时间:2023-04-10 23:24:57浏览次数:56  
标签:烧录 PhoenixSuit 全志 repo 编译 2.4 SDK

目录

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 系统默认值

如第二章,执行完 sourcelunch指令后,可使用如下指令进入到对应平台的目录(此处以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 进行查看

标签:烧录,PhoenixSuit,全志,repo,编译,2.4,SDK
From: https://www.cnblogs.com/Jimmy1988/p/17304698.html

相关文章

  • 如何在WSL2中安装可执行编译.cu文件的cuda环境
    参考nvidia官方文档:https://docs.nvidia.com/cuda/wsl-user-guide/index.html#installing-insider-preview-builds  =========================================  第一步:sudoapt-keydel7fa2af80 第二步:sudoaptinstallnvidia-cuda-toolkit  注意:本文方......
  • C语言GCC编译错误(收集)
    错误一: 实参类型不兼容这是Linux下编写的UDP方式通信的服务器端代码:intret_rec=recvfrom(soc_fd,//上面定义的UDP套接字 msg, //接收数据缓存区 128, //接收数据缓冲区,大小 0, // 和发送端一样的标记 from_addr,//......
  • 【 2023 】近期一些编译调试开发 Android7&9 系统的笔记( h616 / imx8m / rk3399 )
    主要就记录一下自己食用过程中遇到的一些问题吧,板子有新有旧,但都差不多。待整理呢。https://stackoverflow.com/questions/67363030/rebuild-android-code-with-error-ssl-error-when-connecting-to-the-jack-server-thttps://note.qidong.name/2017/07/disable-jack-server/......
  • 一些书上不怎么讲的编译器优化方法
    目录1一些书上不怎么讲的编译器优化方法1.1内容预览1.2JIT-JustInTimeCompilation1.2.1单层编译器1.2.2解释器+编译器1.2.3FDO-Feadback-DirectedOptimization1.3AOT-AheadOfTimeCompilation1.3.1LTO-Link-TimeOptimization1.3.2FDO-......
  • wsl,64位机,编译共享库
    难得的周日,看了些动态链接的文章。IOT物联网小镇自己也想编译一个动态库,中间遇到了一些问题。写篇文章记录下。b.c代码#include<stdio.h>intb=30;voidfunc_b(void){printf("infunc_b.b=%d\n",b);}a.c代码如下.a.c依赖b.c#include<stdio.h>//内部定义......
  • 编译安装指定版本的bind9
    下载所需的版本https://gitlab.isc.org/isc-projects/bind9/-/tags?sort=version_desc搜索自己需要的版本,然后点击下载安装#新建用户$groupadd-g53-rnamed$useradd-u53-g53-rnamed#解压源码包$tarxfbind9-v9_11_36.tar.gz$cdbind9-v9_11_36/#安装必......
  • golang 编译碰到问题 Package python-2.7 was not found in the pkg-config search pa
    golang运行单测或者编译程序时提示需要配置PKG_CONFIG_PATH环境变量,原因是在程序里使用了go-python包,要求运行环境有python2.7,并设置PKG_CONFIG_PATH环境变量,解决方案如下:#pkg-config--cflags--python-2.7Packagepython-2.7wasnotfoundinthepkg-configsear......
  • Mac M1安装android sdk
    我这边是MacBookproM1芯片的电脑,需要安装androidsdk我在网上找了一圈,没有找到合适的sdk,要么是版本太老,要么是其他原因,后来我直接通过我的idea中进行下载,idea中搜索androidsdk即可下载edit进行安装,之后等待,好了之后进入此路径中,发现adb--version正常了主题你如果在网......
  • wxsqlite3 的使用, sqlite3 加密库 编译和测试
     编译库文件:1.用VS2010建立一个控制台工程sqlite3,选项为静态库,不包含预编译头。2.把wxsqlite3-4.5.1.zip\wxsqlite3-4.5.1\sqlite3secure\src下所有的文件复制到工程的工作目录3.把sqlite3.h和sqlite3secure.c加入工程4.工程配置属性AllConfigurations,C/C++,预处理,预......
  • lvgl 经典编译错误解决之道:section `.bss' is not within region `dram0_0_seg'
    #NodeMCU##PlatformIO#或#ArduinoIDE#能规避lvgl+TFT_eSPI经典编译错误(如下所示)的点不多。Linking.pio\build\nodemcu\firmware.elfld.exe:address0x3fffd538of.pio\build\nodemcu\firmware.elfsection`.bss'isnotwithinregion`dram0_0_seg'collect2.exe......