栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

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

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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被间隔点亮。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/869757.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号