搭建simtrace环境
工具环境搭建
仅作参考,具有时效性,请以官方文档为准。
跨平台编译工具arm-elf
新建三个目录
安装依赖
将文件夹中 binutils-2.21.1a.tar.bz2,gcc-4.5.2.tar.bz2,newlib-1.19.0.tar.gz 放在src中
脚本工具gnu-arm-build.2.sh 放在当前目录,执行 gnu-arm-build.2.sh
目录结构如下:
报错处理:
先卸载 texinfo (apt remove texinfo)
安装低版本texinfo
再运行./gnu-arm-build.2.sh
编译库文件libosmocore
安装pc客户端simtrace
下载simtrace源码
依赖
编译simtrace 固件
下载源码及编译
(osmocom最新修改的openpcd源码无法正常使用,其头文件中结构体变量声明类型有误,或者是交叉编译工具版本较旧(uint8_t/ u_int8_t 两个定义),使用旧的可编译通过的源码,openpcd.zip)
在交叉编译工具中的头文件( #include )
源代码中最近一次修改是将所有文件中的数据类型u_int8_t、u_int16_t全部修改为uint8_t、uint16_t,但是使用的交叉编译工具(arm-elf-gcc)中的对该数据类型的定义为u_int8_t、u_int16_t。这导致新代码编译出错。
其中生成的文件
dfu.bin -- the sam7dfu 2nd level bootloader. It implements the USB DFU (Device Firmware Upgrade) profile.
main_simtrace.bin -- the actual simtrace program. To be loaded via DFU, using dfu-util.
main_simtrace.samba -- sam7dfu + simtrace image. to be loaded via SAM-BA, using sam7utils (see below).
两种给板子刷固件的方法
1.DFU模式
该模式是在固件可用下,需要升级固件时使用
安装工具
刷固件
2.SAM-BA
该模式用于板子固件丢失,需要重新刷入底层固件
编译生成工具,将板子进入SAM-BA模式