s3c2440的LED点灯裸机汇编程序

发布者:咖啡小熊最新更新时间:2018-06-04 来源: eefocus关键字:s3c2440  LED  汇编程序 手机看文章 扫描二维码
随时随地手机看文章

1.s3c2440裸机LED点灯代码(汇编代码)
.text
.global _start
_start:     
            LDR     R0,=0x56000010      @ R0设为GPBCON寄存器。此寄存器
                                        @ 用于选择端口B各引脚的功能:
                                        @ 是输出、是输入、还是其他
            MOV     R1,#0x00000400        
            STR     R1,[R0]             @ 设置GPB5为输出口, 位[10:9]=0b01
            LDR     R0,=0x56000014      @ R0设为GPBDAT寄存器。此寄存器
                                        @ 用于读/写端口B各引脚的数据
            MOV     R1,#0x00000000      @ 此值改为0x00000020,
                                        @ 可让LED1熄灭
            STR     R1,[R0]             @ GPB5输出0,LED1点亮
MAIN_LOOP:
            B       MAIN_LOOP
注释:
.text 指定了后续编译出来的内容放在代码段【可执行】;
.global 告诉编译器后续跟的是一个全局可见的名字【可能是变量,也可以是函数名】;
在本例中,_start是一个函数的起始地址,也是编译、链接后程序的起始地址。由于程序是通过加载器来加载的,必须要找到 _start名字的函数,因此_start必须定义成全局的,以便存在于编译后的全局符合表中,供其它程序【如加载器】寻找到。
2.上面汇编代码对应的makefile
led_on.bin : led_on.S
 arm-linux-gcc -g -c -o led_on.o led_on.S
 arm-linux-ld -Ttext 0x0000000 -g led_on.o -o led_on_elf
 arm-linux-objcopy -O binary -S led_on_elf led_on.bin
clean:
 rm -f   led_on.bin led_on_elf *.o
注释:
arm-linux-ld 是连接器,它把一些目标和归档文件结合在一起,重定位数据,并连接符号引用。通常,建立一个新编译程序的最后一步就是调用ld。
arm-linux-ld 直接指定代码段,数据段,BSS段的起始地址
 -Tbss ADDRESS               Set address of .bss section
 -Tdata ADDRESS              Set address of .data section
 -Ttext ADDRESS              Set address of .text section
示例:
 ${CROSS}ld -Ttext=0x33000000 led.o -o led.elf
使用连接脚本设置地址:
arm-linux-ld -Tbeep.lds start.o beep.o -o beep.elf
其中beep.lds 为连接脚本。

arm-linux-objcopy 把一种目标文件中的内容复制到另一种类型的目标文件中。
arm-linux-objcopy被用来复制一个目标文件的内容到另一个文件中,可用于不同源文件的之间的格式转换
示例:
arm-linux-objcopy –o binary –S elf_file bin_file
常用的选项:
input-file , outflie
输入和输出文件,如果没有outfile,则输出文件名为输入文件名
2.-l bfdname或—input-target=bfdname
用来指明源文件的格式,bfdname是BFD库中描述的标准格式名,如果没指明,则arm-linux-objcopy自己分析
3.-O bfdname 输出的格式
4.-F bfdname 同时指明源文件,目的文件的格式
5.-R sectionname 从输出文件中删除掉所有名为sectionname的段
6.-S 不从源文件中复制重定位信息和符号信息到目标文件中
7.-g 不从源文件中复制调试符号到目标文件中


关键字:s3c2440  LED  汇编程序 引用地址:s3c2440的LED点灯裸机汇编程序

上一篇:S3c2440支持中断源个数
下一篇:谈谈BGA芯片S3C2440的焊接

推荐阅读最新更新时间:2024-03-16 16:04

克服汽车系统中高亮度(HB) LED集成方案的技术瓶颈
引言 目前,汽车厂商正在逐步将汽车照明系统从白炽灯和CCFL (冷阴极荧光灯)更换成HB (高亮度) LED。这些HB LED广泛用于导航及娱乐设备显示器的背光以及汽车内部、外部照明,例如:日间行驶灯、尾灯等。新应用中(例如:平视显示器)也开始使用HB LED。 由于第一代HB LED驱动器的局限性,设计人员还无法在效率、最少的外部元件数量、最低EMI以及宽范围PWM调光等方面进行优化。最新推向市场的多串HB LED驱动器,例如:MAX16814,以极其巧妙的方式解决了上述技术瓶颈,这些驱动器的开关和线性控制器之间能够进行双向通信。本文介绍了一个用于日间行驶灯或平视显示器的设计实例。 为什么选择HB LED? HB
[嵌入式]
索尼加强车载图像传感器业务,与韩国自动驾驶公司签订MOU
CINNO Research 产业资讯,1 月 5 日,索尼韩国应用和设备事业部宣布,与 Autonomous a2z 公司签署了业务协议(MOU)。该公司是韩国 自动驾驶 解决方案的开发商。 双方将利用索尼的车载 图像传感器 进行自动驾驶现场测试(filed test)。Autonomous a2z 公司将负责搭载自动驾驶技术的演示车辆支援和交通环境数据的收集。为此,将在今年 3 月开发搭载索尼图像传感器的演示车辆。 两家公司同时实现发光二极管( LED )闪烁(Flicker)抑制和 HDR。目标是在强太阳光、恶劣天气等情况下正确识别事物。采用索尼像素技术的专用摄像头是性能提升的核心。 “我们将索尼所拥有先进
[汽车电子]
索尼加强车载图像传感器业务,与韩国自动驾驶公司签订MOU
Melexis推可实现高速动态效果汽车照明的新标准协议
当前汽车照明的趋势 汽车照明得到了前所未有的关注。长久以来,灯光一直与舒适性相关联,因为灯光会对人的情绪产生很大影响:暖色能激发人的热情;冷色能让人平静。灯光在信息交流方面发挥着日益重要的作用。我们都熟悉用于警示危险或紧急状况的灯光。随着自动驾驶的到来,为应对音频信号听不到的情况,这类照明需求可能会加强。典型示例为驾驶员使用耳机或正在通话的场景。在此情况下,车内灯光突然变成红色可提醒驾驶员控制车辆。视觉信号对有听觉障碍的人士至关重要。因此,车内静态照明、多色动态照明和更复杂的动态照明需求呈增长趋势,所有这些均可归类为“智能照明”。 智能照明的固有挑战 将智能照明效果用于设计和信息交流目的后,某些技术挑战就会显现。
[汽车电子]
Melexis推可实现高速动态效果汽车照明的新标准协议
科鑫光电发布圆形中空LED
圆形中空LED屏是科鑫光电根据现场和客户要求定制的一款ART艺术创意设计LED显示屏,具有显示屏的特点,进行文字、图片、视频等信息的播放,也具有艺术造型,烘托现场环境气氛,应用在舞台、演播室、酒店、机场、路灯广告等LED场所,根据直径要求,可做成户外室内中空圆形LED全彩屏的有P10、P8、P7.62、P6.25、P6、P4、P3、P2.5等不同像素密度的圆环形LED显示屏。 不同点间距的LED显示屏对显示效果有区别,像素密度越高,画面细节越容易表现。室内全彩LED显示屏与传统的室内的DLP、LCD等拼接屏的对比,主要有以下优势点:1、单元化、结构化设计:大型的LED显示屏采用单元化的屏体结构,使连续直观简单,能根据需要调整屏
[电源管理]
2016年中国市场LED封装营收前十大 日亚化蝉联第一
  根据 LED inside最新「2017中国 LED 芯片与 封装 产业市场报告」显示,2016年 LED 照明市场稳定成长,芯片、 封装 厂商产能持续扩张。 尤其中国LED 封装 市场规模年增6%至89亿美元,在营收前十大厂商中,日亚化学蝉联冠军,木林森窜升至亚军,Lumileds排名第三。下面就随手机便携小编一起来了解一下相关内容吧。   2016年中国市场LED封装前十大厂商营收规模为41亿美元,年增达24%,远高于整体市场平均成长幅度的6%,显示产业集中度提升。 LEDinside分析师余彬表示,从排名中可以观察到,中国厂商市占率提升,排名也随之提升,预估2017年随着木林森、国星、鸿利光电等厂商的大举扩产,中国厂商
[手机便携]
LED驱动器特性分析
  基于电压-电流的变化率特性, LED驱动 器需要一个符合要求的设计,所以了解它们的特性和基于特定应用选择适当的 驱动 电路是至关重要的。这样专用的驱动电路才能为这些 LED 提供额定的电压和电流,为它们正常工作创造一个良好的条件。   要达到发光的目的,LED需要一个正向电压来让电流流动。因此LED驱动器要为LED提供正向偏压以便使其发光。LED的发光等级或 亮度 通常与正向电流的大小成正比。另外,通过LED的电流不应该超过设备规定的额定电流,否则可能造成永久伤害。因而恒定电流驱动电路是将电流控制在驱动LED的正确水平的理想方案。换句话说, LED驱动电路 就是一种提供恒定电流而非恒定电压的 电源 转换电路。LED驱动电
[电源管理]
大功率LED恒流驱动电路的设计分析与实例
  虽然大功率LED现在还不能大规模取代传统的照明灯具,但它们在室内外装饰、特种照明方面有着越来越广泛的应用,因此掌握大功率led恒流驱动器的设计技术,对于开拓大功率LED的新应用至关重要。LED按照功率和发光亮度可以划分为大功率LED、高亮度LED及普通LED。一般来说,大功率LED的功率至少在1W以上,目前比较常见的有1W、3W、5W、8W和10W。已大批量应用的有1W和3W LED,而5W、8W和10W LED的应用相对较少。预计大功率LED灯会在2010年上海世博会上大量应用,因此电子和照明行业都非常关注LED照明新技术的发展应用。   恒流驱动和提高LED的光学效率是LED 应用设计的两个关键问题,本文首先介绍大功率
[电源管理]
大功率<font color='red'>LED</font>恒流驱动电路的设计分析与实例
LED衬底材料的选用
对于制作LED芯片来说,衬底材料的选用是首要考虑的问题。应该采用哪种合适的衬底,需要根据设备和led器件的要求进行选择。目前市面上一般有三种材料可作为衬底: ·蓝宝石(Al2O3) ·硅 (Si) ·碳化硅(SiC) 蓝宝石衬底 通常,GaN基材料和器件的外延层主要生长在蓝宝石衬底上。蓝宝石衬底有许多的优点:首先,蓝宝石衬底的生产技术成熟、器件质量较好;其次,蓝宝石的稳定性很好,能够运用在高温生长过程中;最后,蓝宝石的机械强度高,易于处理和清洗。因此,大多数工艺一般都以蓝宝石作为衬底。图1示例了使用蓝宝石衬底做成的LED芯片。 图1 蓝宝石作为衬底的LED芯片 使用蓝宝石作为衬底也存在
[电源管理]
<font color='red'>LED</font>衬底材料的选用
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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