SIM7600平台基于ARM Cortex-A7中央处理器,运行嵌入式Linux操作系统,内核版本是3.18.20,文件系统采用UBIFS,Linux管理的ubi文件系统包含三个逻辑分区(区分物理分区和逻辑分区):
ubi0:rootfs 只读分区,存放操作系统代码
ubi1:usrfs 存放操作系统的文件系统,二次开发的用户程序放在此分区
ubi2:cachefs 一般用于FOTA升级
1.设备串口测试
1)打开RTC串口调试工具
2)打开串口9(AT命令串口)
3)命令测试
- 发送AT命令,返回OK说明命令发送成功
- 发送AT+CUSBADB=1命令,返回OK说明命令发送成功
2.adb设备启动
adb kill-server
adb devices
3.运行应用程序
adb shell killall helloworld
adb shell alias ls='ls --color=null'
adb push helloworld /data/helloworld
adb shell chmod a+x /data/helloworld
adb shell ./data/helloworld
4. Linux环境编译
1)解压固件文件
sudo tar zxvf SIM7600M22_OL_2U_V1.00_180820.tar.gz
2)初始化交叉编译环境
进入sim_open_sdk文件夹
source sim_crosscompile/sim_crosscompile_env_init
3)生成所有模块:bootloader、kernel、rootfs和helloworld。
make
4)生成特定模块
- make aboot生成bootloader
- make kernel_config配置内核选项
- make kernel生成内核镜像
- make rootfs生成根文件系统镜像
- make helloworld生成helloworld应用程序
- make kernel-module编译驱动模块,生成的驱动自动安装到自己的位置,然后make rootfs重新生成根文件系统镜像
5)清除模块
- make clean 清除所有模块
- make aboot_clean 清除bootloader
- make kernel_clean 清除kernel
- make rootfs_clean 清除根文件系统rootfs
- make helloworld_clean 清除helloworld 应用程序模块
5.程序自启动设置
以helloworld程序为例
1)把生成的helloworld拷贝到sim_open_sdk/sim_usrfs目录中
sudo cp helloworld/helloworld sim_usrfs
2)将sim_open_sdk/helloworld/start_helloworld文件拷贝到sim_open_sdk/sim_rootfs/etc/init.d目录
sudo cp helloworld/start_helloworld sim_rootfs/etc/init.d
3)进入sim_open_sdk/sim_rootfs/etc/rc5.d目录运行命令:
sudo ln -sf ../init.d/start_helloworld S99start_helloworld
4)清除rootfs:
sudo make rootfs_clean
5)重新生成rootfs:
sudo make rootfs
6.烧录固件
1)替换新的rootfs镜像
2)打开烧录工具(SIM7X00-SIM89XX QDL V1.27 Only for Update)
3)打开platform选择固件位置
3)点击shart开始识别串口并启动烧录
7.固件测试
1)reboot系统重新启动
2)按照步1、2重新启动设备
3)运行进程查看命令
ps | grep helloworld
自启成功!