在TI DSP生成.out文件转换为.Bin文件中上传了转换工具,但是有些同学不知道怎么用,今天写个小说明。
在CreateBin文件夹实际是一个转换的例子,包含5个文件,TestC.bat、hex6x.exe、boot.cmd、hextobin.exe、TestC.out。直接双击TestC.bat文件就会生成TestC.hex、Test.map、TestC.bin。
hex6x.exe就是将out文件转换为hex文件的工具,它是命令行的,需要在windows控制台下使用,为了便于应用,我们将其命令行写在boot.cmd文件中,然后通过TestC.bat批处理文件调用hex6x.exe boot.cmd,会根据boot.cmd命令的不同生成不同的.hex与.map文件。可以通过右键编辑通过记事本或UltraEdit编辑。
例子中的boot.cmd文件是针对8位Flash的,如果是16位Flash将boot.cmd文件中的8换成16就可以了。
hextobin.exe是将刚才生成的hex文件转换为bin的工具,也是windows控制台下的程序,我们一样通过批处理调用。
TestC.bat文件也可以通过右键编辑,通过记事本或UltraEdit等工具编译。
bin文件分为很多种,每种的打开方式是不同的。
光盘镜像的bin文件
光盘镜像格式的bin文件可以使用虚拟光驱打开,如DAEMON Tools,Alcohol 120,UltraISO等软件。
先安装虚拟光驱软件,然后在我的电脑里面会多出一个光驱的盘符,在虚拟光驱软件中选择“加载光盘镜像”,选择bin文件打开即可。
二进制文件bin文件
这类文件一样是嵌入式系统的可执行文件,如TI DSP的烧写文件,就是二进制格式的。这类文件就是由二进制组成的,可以用UltraEdit等可十六进制编辑的软件打开。一堆数字也看不出什么来,一般是将bin文件烧写到DSP外Nor Flash之后,通过与bin文件比对烧写是否正确。
Linux系统的bin文件
linux的bin文件类似windows的.exe与.msi的安装包文件,一般在终端下使用下面的命令即可完成安装。
#chmod +x FileName.bin
#./FileName.bin
FileName即为.bin的文件名,
source insight已经自带了一些语言的语法高亮,如C,C++,下面介绍一些SI未自带的语言的关联与语法高亮。
source insigh如何关联.cc文件(.cc文件和.cpp文件一样,都是C++的源文件)
Option->Document Option->在“File filter”里边加上*.cc
或者Options->Preferences->Languages->点选C++ Language,然后点击右边“Doc Types”按钮弹出->“Document Options”->在“File filter”里边加上*.cc
要注意“Document Options”中左边的combo要 选中C++ Language再修改“File filter”
添加.s汇编语言关联与此类似。
source insight如何关联verlog文件
1、删除以前verilog.clf版本,options->preferences->languages->delete->verilog hdl;
2、添加新的verilog.clf,options->preferences->languages->import->*.clf;
3、添加verilog文档关联支持,document options->add type,在Add New Document Type对话框中写入verilog;
4、在File filter编辑框中写入*.v
4、点击language按钮选择verilog custom
点击下载verilog.CLF
在word的表格前插入文字正文,经常会用到,但是通常却不容易办到。下面根据不同的情况说明,如何在word表格前插入文字正文。
一、文档第一页就是表格头(即表格的头在某一页的开始位置)
方法1、把表格选中剪切,然后敲入文字后,将表格粘贴回来(比较笨,我以前也是这么干的O(∩_∩)O)。
方法2、将光标移到表格的第一行第一列,回车。(不信?你新建个word文档,插入一个表格,将光标移到第一行第一列试试)。
二、word中间某页的表格(即表格的头不在这页的开始位置,此页的表格是上页中表格未完的部分)
解决办法:
1、 选中表格的第一行,右键菜单中选择“插入行”,在表格中新增加一行;
2、 选中新增加的行,在word菜单中选择“表格->转换->表格转换成文本”,点击确定;
3、 此时可以插入文字了,将转换的制表位删除。
在CCS3.3中编译
#include <std.h>
#ifndef Bool
typedef enum{FALSE,TRUE} Bool;
#endif
出现如下编译错误
“Test.c”, line 7: error: expected an identifier
“Test.c”, line 7: error: expected an identifier
“Test.c”, line 7: error: “Bool” has already been declared in the current scope
最初认为CCS3.3没有定义Bool类型(很多编译器都没有定义Bool类型),所以自己定义了typedef enum{FALSE,TRUE} Bool;类型。从编译错误信息中可以看出重复定义了,在CCS的安装目录D:\CCStudio_v3.3\bios_5_31_02\packages\ti\bios\include找到std.h文件,可以查找D:\CCStudio_v3.3\C6000\csl\include目录下的tistdtypes.h文件,其中定义了Bool类型。
typedef unsigned short Bool; /* boolean */
此处的Bool采用typedef定义,所以在#ifndef Bool不起作用。
去掉std.h的应用或者去掉自定义typedef enum{FALSE,TRUE} Bool;即可解决问题。
Recent Comments