Difference between revisions of "PCI card code assembly on Linux"
(3 intermediate revisions by the same user not shown) | |||
Line 41: | Line 41: | ||
export CLAS_BIN=/somewhere/else | export CLAS_BIN=/somewhere/else | ||
in your .bashrc . | in your .bashrc . | ||
+ | |||
+ | [[Category:PCI Card Firmware]] | ||
+ | [[Category:Development Tools]] |
Latest revision as of 18:06, 31 August 2016
Contents
Assembler and linker
Motorola/Frescale provide a Windows/DOS assembler/linker, called CLAS. The binaries run quite well under Linux via Wine. An exception is the final hex-file creation step that converts the .lod file to an Intel S-record file for use with an eprom burner; we have our own code for that.
Install and configure Wine
To install wine (the Windows Emulator for Linux):
sudo apt-get install wine wine
Running wine with no arguments should initialize it and create a place for the fake windows file system it uses.
Install CLAS
The assembler binaries are available from Astrocam [ http://www.astro-cam.com/arcpage.php?txt=software.php#dsp ], or from mhasse [1]. We need the versions for the DSP56300 family.
This will grab the binaries and put them in the right place:
wget http://e-mode.phas.ubc.ca/~mhasse/mce/arc_pci/clas563.zip unzip clas563.zip mv CLAS563 ~/.wine/drive_c/
You could now run the programs via, e.g.
wine ~/.wine/drive_c/CLAS563/BIN/ASM56300.EXE <args>
Install wrapper scripts
The arc_pci repository includes a folder "clash" which contains the lod2s program and some wrapper scripts for launching the CLAS programs. The scripts, and the lod2s program, should probably be copied into the path somewhere. I use ~/bin.
MY_BIN=~/bin cd src/arc_pci cd clash make -C srec lod2s cp srec/lod2s script/* $MY_BIN
Now the makefiles in, e.g., arc_pci/trunk should work.
The wrapper scripts assume location ~/.wine/drive_c/CLAS563/BIN/ for the CLAS windows binaries. You can override this by putting
export CLAS_BIN=/somewhere/else
in your .bashrc .