《基于Linux嵌入式原理与应用开发》_使用ADS创建工程

来源:互联网 发布:海南七星彩缩水软件 编辑:程序博客网 时间:2024/06/01 08:06

最近在看《基于Linux嵌入式原理与应用开发》认识了更多关于Linux的基础,mindmap笔记让脉络清晰了。这本书后面提供了一个关于ADS应用的小例子_ledcircle_,希望以此为基础不断深入学习,初学者共勉,哈。

要不断练习&练习!

1.     led.asm(2): error: A1163E:Unknown opcode Block, , expecting opcode or Macro

2.     WINDOWS 7 ADS1.2启动出现Unhandled Exception的解决办法

 

一、  建立一个工程

1.   打开CodeWarrior

2.   可以在工具栏中单击New按钮,也可以在File菜单中选择New菜单。

l ARM Executable Image:用于由ARM指令的代码生成一个ELF格式的可执行映像文件。

l ARM Object Library:用于由ARM指令的代码生成一个armar格式的目标文件库。

l Empty Project:用于创建一个不包含任何库或源文件的工程。

l Makefile Importer Wizard:用于将Visual CnmakeGNU make文件转入到CodeWarrior IDE工程文件。

l Thumb ARM Executable Image:用于由Thumb指令创建一个可执行的ELF格式的映像文件

l Thumb Executable Image:用于由Thumb指令创建一个可执行的ELF格式的映像文件。

l Thumb Object Library:用于由Thumb指令的代码生成一个armar格式的目标文件库。

3.   这里选择ARM Executable Image,“Project name:”工程文件名(本例:ledcircle);“Location”文本框的Set按钮选择工程保存的路径。然后单击确定。

4.   File菜单下右击鼠标,选择Add Files可以把要用的源程序添加到工程中。

5.   本例中先需要新建源文件,在File菜单中选择New选项,选择标签页File,新建Init.s

6.   新建Main.c

7.   执行Add Files,添加Init.sMain.c,这时会出现:

l DebugRel:使用该目标,在生成目标时,会为每一个源文件生成调试信息。

l Release:使用该目标不会生成任何调试信息。

l Debug:使用该目标为每一个源文件生成最完全的调试信息。

在这里,使用DebugRel目标。

二、  编译和链接工程

1.   进行目标配置

2.   单击Edit菜单,选择DebugRel Settings

1)    Target

l Linker:链接器,使用默认的ARM Linker

l Post-Linker:选择对输出文件进行的操作,选择ARM fromELF表示在链接生成映像文件后,再调用FromELF命令。

2)    Language Settings

使用默认设置就行。

3)    Linker

l ARM Linker使用默认设置

l ARM fromELF
Output format
:转换的目标格式,这里选择Plain binart_这是一个二进制格式的可执行文件
Output file name
:通过单击Choose可选择路径,不输入路径则在工程所在目录下。

3.   单击Project菜单下的make选项,进行编译和链接。

三、  Errors

1.     

l 在每行代码前加“Tab”即可,首行最好也空回车一下。

四、  最后结果

 

led.asm(2):error: A1163E: Unknown opcode Block, , expecting opcode or Macro

问题原因分析:

1.ARM汇编指令不支持顶格写,否则不能识别,指令前加上空格即可。

如果上面的不是,那么就是下面的情况了。

2. 声明变量时不要有空格。如下,nums前面不能有空格。

nums   dcd  1,5,3

 

WINDOWS 7下ADS1.2启动出现Unhandled Exception的解决办法

找到ADS的快捷方式,右键->属性。在属性框的高级页面中勾选禁用桌面元素。再用此快捷方式启动程序,就不会再出现该错误。

 

 

原创粉丝点击