学了两年的ARM,都不知道学了什么,今天,弄一个汇编的程序更让我纠结,不但,汇编语言看的不是太懂,就连错误也犯得相当的低级,看来,在IT界传言的-----汇编语言不会编也是挺靠谱的,接着咱就看看我这个小菜鸟的第一个汇编程序吧
一、汇编语言的准备-----编辑器RealView MDK Keil uVision 4.14的安装
1、首先是双击Keil u Vision 4.14后的欢迎界面

2.next后是接受安装的界面

3、接着next后是自定义的安装目录界面

4、接着next后是填写用户的信息界面

5、接着next后是成功安装的界面

6、接着finish后就可以成功安装了MDK ARM V4,14

7、finish后就会显示短暂的安装界面

8、创建一个新工程project-------new --------u Vision project 在hello world 文件夹里创建hello.uvproj 工程

9、为工程选择一个CPU我选择的是samsung的s3c2410A

10、 注意!!!注意!!!这里是简单的汇编程序,因此不需要添加启动代码。不然就会再编译的时候出现以下错误
hello.axf: Error: L6411E: No compatible library exists with a definition of startup symbol __main.

11、选择开发工具project---manage---components

12、ok后建立汇编程序源文件 file---new test.s (汇编程序源文件) test.sct(分散加载文件) DebugInRam.ini(调试脚本文件)文件
和设置编译连接控制选项基本配置Target界面(project---option for target) ,顺便把test.s 文件添加到工程里工程-------右键----Add---group -----add files to

13、基本配置 ----- Linker

14、基本配置--Debug ----

15、编译连接工程 projiect --->Build target (F7快捷键) 调试工程 Debug ----start\stop Debug Session (Ctrl + F5 快捷键)
备注:
test.s文件
addr equ 0x31000100
preserve8
area reset,code,readonly
entry
arm
start ldr r0,=addr
mov r1,#10
mov r2,#20
add r1,r1,r2
str r1,[r0]
b start
endtest.sct文件
LR_ROM1 0x30000000
{
ER_ROM1 0x3000000 0x1000000
{
*.o(RESET,+First)
*(InRoot$$Sections)
.ANY(+RO)
}
RW_RAM1 0x31000000 0x01000000
{
.ANY(+RW+ZI)
}
RW_IRAM 0x40000000 0x00001000
{
.ANY(+RW+ZI)
}
}DebugInRam.ini文件
FUNC void Setup(void)
{
PC=0x030000000
}
map 0x00000000,0x00200000 read write exec
map 0x30000000,0x34000000 read write exec
Setup();
本文详细介绍了如何使用Keil uVision4.14编辑器安装ARM汇编语言开发环境,并通过创建首个汇编程序来实践操作。包括编辑器安装流程、选择CPU、创建工程、配置编译连接选项、编写汇编程序源文件及调试过程,旨在帮助初学者快速上手汇编语言编程。
1万+

被折叠的 条评论
为什么被折叠?



