S3C2440裸机开发----点亮LED

开发板:FriendlyARM Micro2440标准版
S3C2440是基于ARM9内核的,包含MMU(内存管理单元),支持运行Linux操作系统。
首先列出参考资料:韦东山老师的《嵌入式Linux应用开发完全手册》。
本文对环境的搭建不多赘述(按照韦东山老师的书来),重点提出作者遇到的问题以及解决办法,希望可以帮助到遇到类似问题的朋友。

遇到的问题:交叉编译工具arm-linux-gcc无法使用
原因:随书附赠光盘中的arm-linux-gcc可执行程序是32位,而作者安装的Ubuntu19.04是64位的。
解决办法:$ sudo apt install gcc-multilib,安装32位的兼容包。还需要注意在使用apt命令之前需要修改/etc/apt/sources.list文件,选择合适的软件包镜像源(推荐阿里云,网址:https://developer.aliyun.com/mirror/ubuntu)。

Mini2440用户手册(Micro2440标准版的硬件资源与Mini2440完全一致):
在这里插入图片描述
S3C2440英文手册 第9章IO/PORTS部分:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
汇编代码:

@******************************************************************************
@ File:led_on.S
@ Target:turn on LED1 and LED3, turn off LED2 and LED4
@******************************************************************************       
            
.text
.global _start
_start:     
            LDR     R0,=0x56000010      
                                        
                                        
            MOV     R1,#0x00026400	       
 
            STR     R1,[R0]		//向GPBCON寄存器写入数据0x00026400 	            
                                //表示设置GPB5~GPB8均为输出模式
            LDR     R0,=0x56000014      
                                        
            MOV     R1,#0x00000140      
                                        
            STR     R1,[R0]     //向GPBDAT寄存器写入数据0x00000140        
                  //表示设置GPB5输出0、GPB6输出1、GPB7输出0、GPB8输出1
MAIN_LOOP:
            B       MAIN_LOOP

编写makefile文件,使用$ make命令编译,得到bin文件,再通过TFTP传送至Windows主机。在Windows下使用J-Flash软件通过JTAG(J-Link,需要事先安装驱动)连接开发板并烧录至NOR FLAH中(开发板需要选择从NOR FLAH启动)。
注意:使用J-Flash软件烧录需要在Options——>Project settings中正确配置CPU和FLAH的相关参数。
在这里插入图片描述

测试效果:LED1至LED4被间隔点亮。
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

无名小屁喵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值