安装相关软件
- 交叉编译工具链arm-none-linux-gnueabi.exe
- Keil
创建project
新建的工程会自带.s文件,可以自己另创一个简单的来作为测试
比如test.s
.text
mov r1,#3
mov r0,r1
.end
关联交叉编译工具链
Project–>Manager–>Components–>Folders–>勾选Use GCC–>设置arm-none-linux-gnueabi-以及对应的路径
导入linker脚本
问题
debug时出现下面错误:
*** error 65: access violation at 0x00000000 : no ‘execute/read’ permission
操作流程
map.lds文件内容如下:
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
OUTPUT_ARCH(arm)
ENTRY(_start)
SECTIONS
{
. = 0;
. = ALIGN(4);
.text :
{
start.o(.text)
*(.text)
}
. = ALIGN(4);
.data :
{ *(.data) }
. = ALIGN(4);
.bss :
{ *(.bss) }
}
把map.lds放在工程目录下
然后在keil里关联该文件
点击流程:
Project–>Options For Target–>Linker–>设置Linker Script File为工程目录下的map.lds
问题解决: