Professional Documents
Culture Documents
c) Sdk 编译指南
i. Platform 和 kware 编译之前均需要通过 source setenv 进行环境变量设置。
ii. Platform 的编译通过 make help 来获取各个模块的编译方式
@echo source setenv:-------------set environment
@echo make kernel:---------------build linux kernel
@echo make kernel_clean:-------clean linux kernel
@echo make mtapi:----------------build montage api layer
@echo make mtapi_clean:--------clean montage api layer
@echo make sample:---------------build sample application
@echo make sample_clean:-------clean sample application
@echo make fs:----------------------build file system
@echo make help:--------------------get help
iii. 编译完成后均会自动拷贝输出文件至 public 的相应目录。kernel 不会做此自动
拷贝工作,需要自行从具体目录下拿取。
三、如何编译生成第三方库文件
参考 montage-tech\platform\doc\make-lib
四、如何编译生成可执行文件
参考 montage-tech\platform\doc\make-exe
五、montage linux app 系统运行
a) 应用程序介绍
i. Btinit,负责内存及系统初始化,并加载 uboot
ii. Uboot,负责引导内核、loader,支持开机画面
iii. av_cpu,音视频解码程序,运行于从核,主核运行应用程序
iv. Logo,开机画面(I 帧)
v. Rw,uboot、应用程序、loader 三者彼此交互的数据区
vi. Loader,升级程序
vii. Kernel,linux 内核程序,附带根文件系统
viii. Usrfs,应用程序文件系统,挂载于/usr/local/stb 目录,squashfs 文件系统
ix. Data,应用程序数据分区
b) Spi flash 运行环境
i. 系统的分区表可在 uboot 启动时查看系统打印,目前默认提供的分区如下:
btinit.img 0 00000000 00010000
uboot.img 1 00010000 00080000
av_cpu.img 2 00090000 00040000
logo.img 3 000d0000 00020000
rw.img 4 000f0000 00010000
rw.img 5 00100000 00010000
loader.img 6 00110000 00040000
kernel.img 7 00150000 00320000
usrfs.img 8 00470000 00370000
data.img 9 007e0000 00020000
ii. 如需要修改分区,可查看 uboot 代码中 concerto_flash.c 文件
iii. Uboot 下支持 tftp 和 U 盘读写命令
1. Tftp 命令:tftp 80100000 uImage
2. U 盘读命令:
a) 初始化命令 usb start
b) 查看文件列表 fatls usb 0
c) 读文件 fatload usb 0 80100000 uImage
iv. Uboot 下 flash 烧写命令
1. Flash 初始化:sf probe
2. Flash 读:sf read 80100000 0 10000 ---- 80100000 为内存地址,0 为 flash
偏移地址,10000 为读取大小,读取大小需 64 直接对齐
3. Flash 写:sf burn 80100000 0 10000
4. Flash 擦:sf erase 0 10000