[学习笔记]ARM9-mini2440之点亮第一颗LED

发布者:电子创新者最新更新时间:2020-05-26 来源: eefocus关键字:ARM9  mini2440  LED 手机看文章 扫描二维码
随时随地手机看文章

本文记录mini2440点亮led的操作流程;

点亮一颗led代码实现方式:汇编和C;

进行了一些功能扩展实验;


基本思路

看原理图确定控制led的引脚;

看主芯片手册确定如何控制引脚;

编写程序;

编译;

烧录bin文件;


看原理图

mini2440主芯片引脚图:

mini2440主芯片引脚图

led电路图

led电路图

由于只要点亮一颗led,因此选择nLED_1。由原理图可知:nLED_1接线对应主芯片的GPB5引脚,且当GPB5输出低电平时,nLED_1会被点亮。而引脚则由寄存器控制,因此只要对GPB5引脚相关寄存器进行设置即可。


看芯片手册

S3C2440端口B相关寄存器:

S3C2440端口B相关寄存器

由上图可知,S3C2440的I/O口B相关的寄存器有:


控制寄存器

数据寄存器

上拉寄存器

S3C2440端口B控制寄存器:

S3C2440端口B控制寄存器

由上图可知,B端口的控制寄存器可以将每个引脚配置为四种模式:


00输入模式

01输出模式

10功能扩展模式

11保留模式

若要使GPB5引脚输出低电平,须将GPB5配置为输出模式,即将Bit[11:10]配置为01。

由图“S3C2440端口B相关寄存器”可知,GPBCON的地址为0x56000010,因此将0x400写入地址0x56000010即可。


S3C2440端口B数据寄存器:

S3C2440端口B数据寄存器

由上图可知,引脚的状态与对应的位的状态相同,因而可以通过配置GPBDAT每一位的状态从而配置引脚的状态。

将数据寄存器的bit5配置为0即可把引脚GPB5配置为低电平。


S3C2440端口B上拉寄存器

在这里插入图片描述

当引脚的驱动能力不足时,需要配置上拉寄存器。由于引脚输出低电平即可点亮led,因此上拉寄存器无需配置。


总结:

以上可知,配置GPB5引脚输出低电平需要两个步骤:


配置控制寄存器GPBCON的Bit[11:10]=01,使GPB5引脚为输出模式;


配置数据寄存器GPBDAT的Bit5=0,使GPB5引脚输出低电平;


编写代码

完整代码分为两个部分,一个是汇编文件,一个是c文件。

start.S


.text

.global _start


_start:


/* 设置内存: sp 栈*/

ldr sp, =4096 /* nand启动 */

//ldr sp, =0x40000000+4096 /* nor启动 */ 


/* 调用main */

bl main


halt:

b halt


其中汇编文件中:


/* 设置内存: sp 栈*/

ldr sp, =4096 /* nand启动 */

//ldr sp, =0x40000000+4096 /* nor启动 */  


关于设置栈以及S3C2440启动方式的问题,将会在另一篇文章专门解释


led.c


int main()

{

unsigned int *p_con =(unsigned int *) 0x56000010;

unsigned int *p_dat =(unsigned int *) 0x56000014;


/* 配置GPB5引脚为输出模式 */

*p_con = 0x1000;


while(1)

{

/* 配置GPB5引脚输出低电平*/

*p_dat = 0;

}


return 0;


}


编译

编写Makefile:

为了编译方便,采用Makefile进行编译


all:

arm-linux-gcc -c -o start.o start.S

arm-linux-gcc -c -o led.o led.c

arm-linux-ld -Ttext 0 start.o led.o -o led.elf

arm-linux-objcopy -O binary -S led.elf led.bin

arm-linux-objdump -D led.elf > led.dis


clean:

rm *.dis *.o *.elf *bin


makefile编写完成之后,将项目文件夹通过FileZilla上传至Ubuntu虚拟机,使用MobaXterm远程登录Ubuntu,进入终端。

进入目标文件夹后,使用make命令进行编译:


编译成功。ls一下,查看生成的文件


生成了bin文件,确认编译成功。

再将生成的bin文件通过FileZilla下载至本地,开始烧录程序。


这里使用的Ubuntu是韦东山老师的百问网团队制作好的系统,使用的交叉编译工具链是:arm-linux-gcc-3.4.5版本


烧录程序

使用工具: oflash(百问网制作)


进入windows下的命令行界面:

进入目标目录

输入:

oflash led.c


显示如下界面:

在这里插入图片描述

选择 0.OpenJTAG,将显示如下界面:

在这里插入图片描述

选择 1.S3C2440,将显示如下界面:

在这里插入图片描述

选择 0:Nand Flash prog(选择Nor Flash也可,启动时注意启动时须将开关拨至Nor启动),将显示如下界面:

在这里插入图片描述

依然选择 0:Nand Flash Program,出现如下界面,表明烧录成功:

在这里插入图片描述

关键字:ARM9  mini2440  LED 引用地址:[学习笔记]ARM9-mini2440之点亮第一颗LED

上一篇:mini2440启动过程
下一篇:一起学mini2440裸机开发(六)--UART原理与基础实验

推荐阅读最新更新时间:2024-11-02 00:18

正面思考如何提升LED道路照明可靠性
  近年来在全球环保潮流之下, LED照明 产业迅速兴起,有许多科技公司投入此新兴产业,但由于LED照明信赖性能标准未能实时订定、妥为规范,导致大量产品无法通过考验、严重光衰收场,主要原因是无设计理论性研究为检视支柱,因而造成使用业主疑虑,也因此推迟产业发展时机。LED照明解决方案供货商鑫源盛科技(Thermalking),提供了高性能 LED路灯 多项组件至灯具系统的各项重要技术指针规格数据,供业界参考。    LED芯片 与封装组件发 光效 率关键技术指针部分,首要之LED芯片与封装组件关键技术,欧美、日厂商均已量产突破发光效率100~120lm/W以上,超越传统最高效率的HID光源(发光效率90~110lm/W),解决目前 L
[电源管理]
正面思考如何提升<font color='red'>LED</font>道路照明可靠性
便携式设备应用LED照明驱动电路设计
  在指示应用上,当有来电或信息时可以让彩色LED闪烁,或利用色彩来显示发话者的身份,例如自行定义的群组,如朋友、家人或业务往来的来电,这项功能不仅为移动电话带来个性化,同时在非常吵杂的环境中也相当有用。为进一步强化使用者的影音感受,RGB LED也同时用来产生许多吸引人的发光效果,其中一个例子是将RGB的发光动作与响铃的旋律或MP3音乐加以同步,另外一个RGB发光的有趣应用则是日本松下公司的"Feel Talk"功能,由于RGB LED被安排在移动电话的机壳下方,因此可以依使用者的心情显示不同的色彩   主要白光LED供应商   目前广泛应用在可携式设备LCD与键盘背光的白光LED,是由日商日亚(Nichia)化学公司于19
[电源管理]
便携式设备应用<font color='red'>LED</font>照明驱动电路设计
AVR单片机教程——闪烁LED
上次我们把LED点亮了。你可能已经试过把 LED_RED 换成其他灯,也可能已经用 led_on() 把所有LED一起点亮了。但是LED点亮以后,程序就退出了,之后LED一直没有暗,直到没有供电。这一次,我们用程序来控制LED的亮和暗。 新建一个C executable项目,选择ATmega324PA单片机,在项目属性中添加库libee1,将配置改为Release。这是本教程现阶段中每一次新建项目都要做的。我刚才尝试用project template简化,然而设置无法导入。 默认生成的main.c中的内容我们还是不要,全部删除后敲入以下代码: 1 #include ee1/led.h 2 #include ee1/d
[单片机]
浅谈LED照明的驱动芯片选用技巧
  LED照明灯具在近期得到飞跃的发展,LED作为绿色环保的清洁光源得到广泛的认可。LED光源使用寿命长、节能省电、应用简单方便、使用成本低,因而在家庭照明都将得到海量的应用。早在2008年,全球每年家庭照明灯座出货量约为500亿个。   LED光源的技术日趋成熟,每瓦发光流明迅速增长,促使其逐年递减降价。LED绿色灯具的海量市场和持续稳定数年增长需求将是集成电路行业继VCD、DVD、手机、MP3之后的消费电子市场的超级海啸!LED灯具的高节能、长寿命、利环保的优越性能获得普遍的公认。   1、LED高节能:直流驱动,超低功耗(单管0.03~1W)电光功率转换接近100%,相同照明效果比传统光源节能80%以上。   2、LED长寿
[电源管理]
浅谈<font color='red'>LED</font>照明的驱动芯片选用技巧
台湾LED厂商业绩受惠于切入non-iPad平板电脑背光供应鍊
    尽管全球的iPad、iPad 2仍处于火热供应状态,根据研究机构SmartMobix的预估,iPad 2在2011年Q2将有700万台的销量,对相关供应鍊厂商来说是很大的收益。不过,non-iPad阵营的平板电脑也不是坐以待毙,包括Android平板、HP的WebOS平板、RIM的Playbook等等,陆续在市场上都有各自的定位。     出货量方面自然都不是iPad系列的对手,但台湾LED厂商在这波苹果与非苹果平板电脑大战中,抢占LED背光供应炼,对于近期台厂的业绩挹注不无小补。     RIM的第二代Playbook预期在2011年下半年量产与上市,而宏碁(Acer)、华硕(Asus)两大台厂率先推出的Andr
[电源管理]
大功率太阳能LED路灯系统设计
近年来随着 太阳能光伏 发电技术和 LED照明 技术的发展, 太阳能 LED 路灯已进入了城市照明领域。LED 作为照明光源与传统的照明光源相比具有直流低电压 驱动 、耗电量少、抗振动、寿命长、纳秒级的响应速度、设计空间大、环保、可连续 开关 闪断,能轻松实现0~100%调光功能等优点,被认为是新一代的绿色照明设备。太阳能LED 路灯是以太阳能作为能源。每个路灯均是独立的,安装方便,无需铺设电缆电线,无需交流 电能 和电费,采用直流供电,光控定时控制,安全可靠、节能、经济、环保,实用。    1、 太阳能电池 板与蓄电池的选取   1.1 太阳能电池板选取   目前 单晶硅太阳能电池 的 光电 转换效率约为1
[电源管理]
大功率太阳能<font color='red'>LED</font>路灯系统设计
深度解析:LED质保八大技术与日常保养方法
从显示技术上说,LCD是由液态晶体组成的显示屏,而LED则是由发光二极管组成的显示屏。LED数码显示中每一个像素单元就是一个发光二极管,如果是单色,一般是红色发光二极管。下面就来看下LED质保八大技术与日常保养方法集结。   LED质保八大技术   要生产出质量好的LED显示屏,需在以下几方面做好技术控制:   1、 防静电LED显电子示屏装配工厂应有良好的防静电措施。专用防静电地、防静电地板、防静电烙铁、防静电台垫、防静电环、防静电衣、湿度控制、设备接地(尤其切脚机)等都是基本要求,并且要用静电仪定期检测。   2、驱动电路设计LED显示屏模块上的驱动电路板驱动IC的排布亦会影响到LED的亮度。由于驱动IC输出电流在
[电源管理]
LED灯具价格差异的因素分析
  LED照明产业飞速发展,各式灯具花样百出,价格的差异也是相当明显。生产LED与LED灯饰的厂商为数众多,不同厂商选用不同品质的LED是造成LED灯具不同的重要原因。由于价格战日益激烈,外观、结构、功能几乎一样的产品,价格差异却有2-3倍,很多用户一时被弄昏头脑,不知价差从何而来,一般不生产LED发光管的LED灯饰厂商都很难区别,何况消费者。   所以,选用自己有良好的LED生产来源,或者是拥有完善LED检测设备的LED灯饰厂会比较好,这样买来的LED灯具产品会更有保障。   我们来看看有哪些因素造成LED灯具的价格差异:   1、亮度   LED的亮度不同,价格不同。   2、抗静电能力   抗静电能力强的LED,
[电源管理]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved