- UID
- 1029342
- 性别
- 男
|
公司里有一批dell optiplex 320电脑,用于生产和检验,随机带有红旗linux desktop 5.0系统。按照公司要求,在这批电脑安装LINUX系统,实现ARM处理器和CPLD程序固化。需要对ST公司STR710F进行程序固化,并对lattice公 司的256xo cpld进行固化。
1 安装linux。首先遇到问题,随机带的redflag linux居然安装失败。费了半天劲,才发现是bios版本的问题,将版本降到1.09后,安装成功。
2 设置linux。删除了游戏软件,建立普通用户,设置网络访问权限等。
3 安装lattice impvm for linux版。在当前用户目录下,修改.bashrc文件,设置三个环境变量。
增加如下三行:
export ISPVM_DIR=/isptools/ispvmsystem
export LD_LIBRARY_PATH=$LD_LIBRARY_PATHISPVM_DIR/lib
export PATH=$PATHISPVM_DIR
然后按照lattice公司的ispVM System UNIX/Linux文档安装软件。
4 运行ispvm软件。建立一个脚本cpld
在文件中写入:
ispvm /i str710.xcf /t /Parallel /o
其中str710.xcf文件中指定了要写入的jed文件。
写入器是简易的并口写入器,在网上可以方便找到原理图。
5 安装ARM处理器固化程序。在网上上下载openocd软件,利用wigger接口固化ST 公司STR71x 芯片。
6 下载了openocd的源代码后要进行编译。
(1)redflag linux中没有automake工具,需要自行安装。我安装了redhat中的autoconfig2.0-10版和automake1.7.9.6版。
(2)然后在源码目录下运行.bootstrap生成.configure脚本。
(3)运行.configure --enable-parport --enable-parport_ppdev
(4)运行make,然后运行make install
7 建立openocd运行的配置文件。
(1) 在当前用户目录下,建立openocd.cfg文件,在该文件中还要建立对str710内部flash操作的脚本文件调用。
(2) 建立str710_flash.script文件,写入固化有关的命令。
两个文件的内容分别如下:
openocd.cfg:
# mthomas 4/2007
#daemon configuration
telnet_port 4444
gdb_port 3333
#interface
interface parport
parport_port 0
parport_cable wiggler
jtag_speed 0
#use combined on interfaces or targets that can't set TRST/SRST separately
reset_config trst_and_srst srst_pulls_trst
#jtag scan chain
#format L IRC IRCM IDCODE (Length, IR Capture, IR Capture Mask, IDCODE)
jtag_device 4 0x1 0xf 0xe
#target configuration
daemon_startup reset
#target arm7tdmi <reset mode> <chainpos> <endianness> <variant>
target arm7tdmi little run_and_init 0 arm7tdmi
#run_and_halt_time 0 30
target_script 0 reset str710_flash.script
str710_flash.script:
#
# The following command wills be executed on
# reset (because of run_and_init in the config-file)
# - wait for target halt
# - erase memory
# - flash content of file main.bin into target-memory
# - shutdown openocd
#
# created by Martin Thomas
# http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects
# based on information from Dominic Rath
#
arm7_9 dcc_downloads enable
wait_halt
sleep 10
poll
flash probe 0
# STR710 erase all banks:
flash erase 0 0 9
flash write 0 boot.bin 0x0
reset run
sleep 10
shutdown
8 运行openocd。在用户目录下,键入openocd命令即可。
9 安装串口终端程序。因为需要有一个终端通过串口与目标板进行交互。我从redhat linux中安装了minicom和lrzsz程序。可以利用xmodem进行文件传送。
总结: 在linux下可以建立廉价的环境进行,进行程序固化。并且运行速度很快,比在windows下图形界面操作还简洁。另外,redflag的桌面环境与windows很相近,初学者可能会感到亲切。 |
|