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

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地址处开始取指执行

 

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值