安凯37D/E SDK简单配置说明

本文详细介绍了嵌入式Linux系统从搭建环境、板级配置、编译到烧录的全过程。讲解了如何配置GCC环境变量,选择不同硬件配置如DDR容量、FLASH类型和屏幕选项,并手动编译u-boot、kernel和rootfs。同时,提到了制作rootfs时的注意事项,以及烧录和运行APP的基本步骤。整个过程旨在加深对Linux系统理解并掌握定制化开发。
摘要由CSDN通过智能技术生成

一.搭建环境
1.配置GCC环境变量 多阅读几遍"AnyCloud37D PDK用户开发手册_V1.0.4"。将编译工具链(anyak37d_gcc)配置好。
2.测试环境变量是否配置好,在/home/(你的用户名)/workspace/下面 arm-anyka 然后补全,如果能补全说明环境变量配置好,否则再检查上一步
二.板级配置(这一步一般不需要操作,前期给你配置好了)
根据不同的IC规格开放不同的宏(/uboot/include/configs/ak_board.h)
a.选择DDR2容量
64MB #define CONFIG_DRAM_64M
128MB #define CONFIG_DRAM_128M
b.选择FLASH类型
NOR Flash :默认启动方式,不需要宏定义
NAND Flash: #define CONFIG_SPINAND_FLASH
#define CONFIG_SPL_BOOT
c.选择屏幕
选择MIPI 删除RGB的宏定义或者 #define CONFIG_MIPI_CORE_BOARD
选择RGB #define CONFIG_RGB_CORE_BOARD
d.编译全功能u-boot或者快速启动u-boot spl镜像
默认编译全功能u-boot镜像(u-boot.bin)
编译快速启动spl-u-boot :#define CONFIG_SPL_BOOT

三.编译
说明:因为sdk有提供一键编译,但是建议不要用,每一步自己都手动编译,这样做的目的是加深对linux系统的了解。
linux系统一般分为四部分:u-boot(启动引导)+kernel(系统框架+内核驱动)+rootfs(文件系统)+APP(你的执行程序)

1.编译u-boot
    进入uboot文件下 
    第一步:建立编译文件夹: mkdir ../ubd 
    第二部:写入配置文件:make O=../udb  xxx_defconf(O代表输出路径 "xxx_defconf"代表的是你这个工程的配置文件,每个项目因为有些细小的差异(比如触摸驱动),所以配置文件不大相同)
    第三步:生成执行文件:make O=../udb  all 编译顺利的话,将在ubd目录下生成u_boot.bin文件,这个就是u-boot镜像文件,将这个复制到烧录文件夹下面
    
2.编译kernel
    步骤与u-boot类似,区别在于内核不止生成内核镜像(uImage)文件,还需要生成设备树文件(xxx.dtb),这个文件功能是配置不同的功能模块所需的信息,比如屏幕驱动所需要的PIN,使能哪些串口,I2C等,dtb文件由dts文件生成,具体配置看(ernel\arch\arm\boot\dts)路径下
    进入kernel文件夹下,
    第一步:mkdir ../bd 
    第二部:make O=../bd xxx_deconf
    第三步:make O=../bd  uImage dtbs modules -j4 (uImage表示编译生成uImage镜像文件,dtbs表示生成所有的dtb文件,modules表示生成所有的ko文件,这个是在xxx_deconf文件里面配置的)
    第三步顺利的编译后将在,..\bd\arch\arm\boot路径下生成uImage文件,在..\bd\arch\arm\boot\dts\下面生成所有的dtb文件。将所需要的dtb和uImage文件复制到烧录工具文件下面。
3.制作rootfs
    如果需要配置,比如需要copy一些库文件,开机执行的脚本等,可以预先在执行脚本中添加,都是标准的脚本语句。然后执行./make_image.sh,将在rootfs文件下面生成三个非常重要的文件
    第一个:root.sqsh4,这个就是根文件系统。(dev etc lib mnt proc sbin sys tmp usr var)这个是在boxbusy中生成的,一般不会再去修改
    第二个:usr.sqsh4,这个就是挂在/usr目录下面的文件。里面主要是四个大类:bin(linux下常用的可执行文件) lib(所需要的动态库(.so)) modules(所需要的驱动ko文件 ) sbin(一些执行脚本)。当然这个分区是可以添加其他文件,但是
    这是个只读分区。
    第三个: usr.jffs2,这个是挂在/etc/config文件下的。这个分区没什么特别,但是这个是可读写分区,一般我们将自己的app放在这个分区下面,因为可读写,所以可以很简单升级我们的app文件。

四.烧录
这个看操作说明,值得注意的是如果分区不够,需要修改分区大小。到时候熟练使用后再议

五.运行APP
在开机执行的脚本中加入运行你的app文件,一般我们都是放在/usr/sbin/main.sh文件最下面执行。

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
操作系统:ubuntu10.10可虚拟机可其他linux可其他版本 & Windows 7 Ubuntu下操作: 下载unyaffs和yaffs2.tar.gz,并编译yaffs2再复制到/bin下(自己找资料) 1.Ubuntu下,在任意文件夹下面建立一个system文件夹,我的是在home/jamly/下面建的 2.将下载的自己喜欢的直刷ROM中的system.img复制到system文件夹中 3.在终端中输入如下命令操作(/home/jamly/替换成自己电脑中的路径,你的不是我的) cd /home/jamly/system sudo unyaffs /home/jamly/system/system.img(用unyaffs命令解压system.img) 保留操作【sudo chmod -R 777 *(打开读写操作最高权限)】 4.删除system.img 5.自己搞system文件夹下的文件,胡搞瞎搞乱搞阴搞暗搞黑搞,怎么搞自己搞我不搞…… 6用mkyaffs2image命令打包system.img 经过自己摸索,发现有时候会出现开机不能启动的现象,可能是因为修改时没有用root权限登录进行操作,操作完成后应该用cd ./ sudo ls -h 命令查看被修该国的文件的文件属性,如果显示的不是-drrwx-rx-x- root root ……,注意下划线部分,如果不是root root的话,要修改 sudo chown-R root:root /home/jamly/system/具体文件夹的文件 一般我是直接在/system文件夹下操作所有的文件,宁可错杀不可漏网 还有修改权限的的命令 一般是修改成-drwxx-rx-x-,意思是root权限有读写执行权限,用户组有读执行权限,其他用户有执行权限,操作方法是 sudo -chmod -R 4755 /home/jamly/system/具体文件夹的文件 上述步骤在打包前面进行,弄完之后再ROOT系统权限。 sudo mkyaffs2image /home/jamly/system/ /home/jamly/system.img sudo chmod -R 777 /home/jamly/system.img(打开刚生成的system.img读写操作最高权限) 7.复制system.img到原直刷文件夹下Win7刷机…… ps1:如果想弄system.ext2里面的东西可以挂载ystem.ext2到某个文件夹下复制里面的内容到system文件夹下再操作 sudo mount -o loop /home/jamly/system.ext2 /mnt 进入/mnt文件夹中复制 ps2:个别老大的systwm.img文件为systwm.bin,重命名即可。如果解压后里面有squashed.sqsh文件,也可以挂载然后弄出来瞎搞 sudo mount -t squashfs -o loop /home/jamly/system/squashed.sqsh /mnt 具体点的找google帮忙人肉squashfs命令。 ps3: 在system文件夹下理论(记住是理论上的)ROOT方法 cd /home/jamly cat /home/jamly/system/bin/sh >/home/jamly/system/bin/su cat /home/jamly/system/bin/sh >/home/jamly/system/xbin/su chmod 4755 /home/jamly/system/bin/su chmod 4755 /home/jamly/system/xbin/su 信息来源:起点手机论坛 原文链接:http://www.qdppc.com/forum.php?mod=viewthread&tid=43806&fromuid=1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值