嵌入式Linux学习(三)点亮LED

2019-07-12 21:11发布

ARM裸机程序在Linux平台上的开发步骤 1、编辑源文件(Source Insight、Notepade++) 2、交叉编译(arm-linux-gcc) 3、烧写程序(Open JTAG、oflash)   点亮LED需要做的 1、配置LED对应管脚为输出 2、将该管教设置为低电平   汇编文件编写如下 @*************************************************** .text .global _start _start: LDR R0,=0x56000050 @R0设为GPFCON寄存器 @用于配置GPIO端口输出或输入 MOV R1,#0x00000100 STR R1,[R0] @设置GPF4为输出,位[9:8]=01 LDR R0,=0x56000054 @R0设为GPFDAT寄存器 @用于配置端口的输出值 MOV R1,#0x00000000 @位4为0则灯熄灭 STR R1,[R0] MAIN_LOOP: B MAIN_LOOP @死循环 编写Makefile文件  led_on.bin : LED.S arm-linux-gcc -g -c -o led_on.o LED.S ;由.S文件生成可执行文件led_on.o ;同时生成可调式信息 arm-linux-ld -Ttext 0x0000000 -g led_on.o -o led_on_elf ;设置代码段的起始位置为0x0000000 ;将led_on.o连接成可执行文件led_on_elf arm-linux-objcopy -O binary -S led_on_elf led_on.bin ;复制目标文件led_on_elf的内容至led_on.bin中 ;并完成文件格式的转换 clean: rm -f led_on.bin led_on_elf *.o 在Linux命令行中输入make实现编译,并生成了led_on.bin文件 将led_on.bin通过网络服务上传到windows 连接open JTAG在目标机和PC端 在Windows下打开CMD,进入led_on.bin所在目录,执行 oflash led_on.bin,烧入目标机的Nand FLash 从Nand Flash启动目标机,验证程序   JZ2440片内带有一个SRAM,外接Nand Flash和Nor Flash,两种启动方式的区别如下 1、从Nand Flash启动       —— 先将Nand Flash的前4k内容复制到片内SDRAM的0地址处       —— CPU从SDRAM的0地址处开始执行 2、从Nor Flash启动      CPU直接从Nor Flash的0地址处开始取指执行