SIM7600CE应用程序调试流程

2019-07-13 01:33发布

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)命令测试
  1. 发送AT命令,返回OK说明命令发送成功
  2. 发送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)生成特定模块
  1. make aboot生成bootloader
  2. make kernel_config配置内核选项
  3. make kernel生成内核镜像
  4. make rootfs生成根文件系统镜像
  5. make helloworld生成helloworld应用程序
  6. make kernel-module编译驱动模块,生成的驱动自动安装到自己的位置,然后make rootfs重新生成根文件系统镜像
5)清除模块
  1. make clean 清除所有模块
  2. make aboot_clean 清除bootloader
  3. make kernel_clean 清除kernel
  4. make rootfs_clean 清除根文件系统rootfs
  5. 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 自启成功!