• SIMTRACE环境搭建


    搭建simtrace环境

    工具环境搭建

    仅作参考,具有时效性,请以官方文档为准。

    跨平台编译工具arm-elf

    参考链接:https://osmocom.org/projects/baseband/wiki/GnuArmToolchain

    新建三个目录

    mkdir build src install

    安装依赖

    sudo apt-get install build-essential libgmp3-dev libmpfr-dev libx11-6 libx11-dev texinfo flex bison libncurses5 libncurses5-dbg libncurses5-dev libncursesw5 libncursesw5-dbg libncursesw5-dev zlibc zlib1g-dev libmpfr4 libmpc-dev

    将文件夹中 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

    $bash gnu-arm-build.2.sh

    目录结构如下:

    报错处理:

    先卸载 texinfo (apt remove texinfo)

    安装低版本texinfo

    dpkg –i texinfo_4.13a.dfsg.1-8ubuntu2_amd64.deb

    再运行./gnu-arm-build.2.sh

    编译库文件libosmocore

    参考链接:https://osmocom.org/projects/libosmocore/wiki/Libosmocore

    安装依赖

    sudo apt-get install build-essential libtool libtalloc-dev shtool autoconf automake git-core pkg-config make gcc libpcsclite-dev
    
    git clone git://git.osmocom.org/libosmocore.git
    
    cd libosmocore/
    autoreconf -i
    ./configure
    make
    sudo make install
    sudo ldconfig -i
    cd ..

    安装pc客户端simtrace

    参考链接:https://osmocom.org/projects/simtrace/wiki/SIMtrace

    下载simtrace源码

    git clone git://git.osmocom.org/simtrace.git

    依赖

    $sudo apt-get install libusb-1.0-0-dev
    cd simtrace/host/
    make

    编译simtrace 固件

    参考链接:https://osmocom.org/projects/simtrace/wiki/SIMtrace_Firmware

    下载源码及编译

    (osmocom最新修改的openpcd源码无法正常使用,其头文件中结构体变量声明类型有误,或者是交叉编译工具版本较旧(uint8_t/ u_int8_t 两个定义),使用旧的可编译通过的源码,openpcd.zip)

    源码修改链接:http://git.osmocom.org/openpcd/commit/?id=373c172ab858102e1818c8476ab1a2b290685cda

    在交叉编译工具中的头文件( #include )

    源代码中最近一次修改是将所有文件中的数据类型u_int8_t、u_int16_t全部修改为uint8_t、uint16_t,但是使用的交叉编译工具(arm-elf-gcc)中的对该数据类型的定义为u_int8_t、u_int16_t。这导致新代码编译出错。

    git clone git://git.osmocom.org/openpcd.git
    cd openpcd/firmware
    
    设置环境变量(arm-elf-gcc所在目录)
    exportPATH = PATH:/home/mtq/simtrace/arm-elf-toolchain/install/bin
    
    make -f Makefile.dfu BOARD=SIMTRACE
    make BOARD=SIMTRACE DEBUG=1 TARGET=main_simtrace
    cat dfu.bin main_simtrace.bin > main_simtrace.samba
    cd ../..

    其中生成的文件

    • 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模式

    该模式是在固件可用下,需要升级固件时使用

    安装工具

    sudo apt-get install dfu-util

    刷固件

    sudo dfu-util -d 16c0:0762 -a0 -D ./main_simtrace.bin –R

    2.SAM-BA

    该模式用于板子固件丢失,需要重新刷入底层固件

    wget http://www.openpcd.org/dl/sam7utils-0.2.1-bm.tar.bz2(该链接已经失效)
    tar xf sam7utils-*.tar.bz2
    cd sam7utils
    ./configure –prefix=/usr/local
    make AM_CFLAGS=””

    编译生成工具,将板子进入SAM-BA模式

  • 相关阅读:
    18_09_05 textarea高度自适应 和 Z-index
    18_08_20 jQuery 获取URL中的参数
    18_08_20 jQuery 光标聚焦文字之后
    18_08_20 jQuery 将前台 多张图片 和 多个附件 转化为 附件 向后台请求
    18_8_20 Bootstrap ul标题太多的处理方式
    Http (java)的post和get方式
    18_8_20 java 时间延后的通用写法
    iOS设计模式-组合
    iOS设计模式-迭代器
    iOS设计模式-观察者
  • 原文地址:https://www.cnblogs.com/k1two2/p/7255369.html
Copyright © 2020-2023  润新知