历史上的今天
返回首页

历史上的今天

今天是:2025年07月21日(星期一)

正在发生

2018年07月21日 | ARM裸机程序开发——按键控制LED灯

2018-07-21 来源:eefocus

这几天将TQ2440上的IO控制引脚学习了一下,了解了一下关于引脚的一些寄存器的配置,熟悉了一下写ARM裸机程序的流程,写一下自己学到的东西。

★程序启动初始化

◇关闭看门狗

有一个专门的寄存器来控制看门狗,看门狗的作用就是在一定的时间内会重新启动系统,这里我们只是写一个简单的逻辑程序用不到看门狗 ,将其关掉。设置WTCON寄存器,将其第5位置0,就可以禁用看门狗


◇设置栈指针

C语言中设置的变量,以及调用的函数等信息都会被存放在栈中,因此栈指针必须要设置

◇调用main函数

main函数中设置了关于IO寄存器的一些设置操作

★TQ2440硬件相关

硬件主要涉及到LED灯与GPIO,按键与GPIO之间的连接

◇LED灯硬件

           

从图中可以看出LED1与GPB5相连

◇按键硬件

      

K1按键与GPF1的引脚相连

★IO控制端口及其配置

关于IO控制器,主要是配置两类寄存器:控制寄存器GPXCON与数据寄存器GPXDAT。(X表示A,B,C,……)

控制寄存器GPXCON:主要控制引脚的输入或者输出,输入输出都是控制寄存器中相应的位发生改变

数据寄存器GPXDAT:如果控制寄存器控制引脚输出,那么可以设置数据寄存器使引脚的电平为高电平或者低电平



★TQ2440两种启动方式

◇nand的启动

上电后,硬件会自动将nand中的前4K拷贝到片内的4KSRAM,然后CPU从片内的0x00000000地址执行。因此放在nand的头4K程序主要完成硬件的初始化工作。例如关闭看门狗、设置栈、初始化SDRAM(内存),将nand中的其余代码拷贝到SDRAM中等等一些操作

◇nor启动

上电后,CPU就会从Nor的起始地址0x00000000执行

★程序代码


.text

.global _start

_start:

ldr r0 ,=0x53000000 @设置R0看门狗控制寄存器WTCON

mov r1 ,#0x00000000 @立即数0x00000000赋值给R1

str r1 ,[r0]    @寄存器间接寻址

 

ldr sp ,=4*1024      @设置栈指针

 

bl main    @调用main函数

 

LOOP:            @死循环

b LOOP


//#include

 

#define GPBCON  (*(volatile unsigned long *)0x56000010)  //volatile告诉编译器不要优化GPBCON变量

#define GPBDAT  (*(volatile unsigned long *)0x56000014) 

#define GPFCON  (*(volatile unsigned long *)0x56000050)

#define GPFDAT (*(volatile unsigned long *)0x56000054)

 

#define GPBCON_10 (1 << (2*5)-1)

#define GPBDAT_5    (1 << (1*5))

#define GPFCON_2    ~(3 << (1*2))

#define GPFDAT_2    (1 << 1)

 

int main()

{

unsigned long dwDat;

GPBCON = GPBCON_10; //设置GPB控制寄存器的[11,10]=0b01位

GPFCON = GPFCON_2;

while(1)

{

dwDat = GPFDAT;

if(dwDat & GPFDAT_2)

{

GPBDAT |= GPBDAT_5;

}

else

{

GPBDAT &= ~GPBDAT_5;

}

}

return 0;

}


推荐阅读

史海拾趣

FUJITSU(富士通)公司的发展小趣事

富士通(Fujitsu)在电子行业的五个发展故事

故事一:从电话交换机到ICT巨头的起步

富士通的故事始于1935年,当时它作为一家电信设备制造商在日本成立,首款产品是电话交换机,这标志着富士通成为日本首家生产此类设备的公司。这一里程碑不仅奠定了富士通在通信领域的基础,也为其后续在信息技术(IT)和通信技术(CT)领域的多元化发展铺平了道路。随着技术的不断进步,富士通逐渐扩展其业务范围,从单一的通信设备制造商转变为全球领先的ICT企业。

故事二:FACOM 100——日本首台计算机的诞生

1954年,富士通成功研发出日本第一台中继式自动计算机FACOM 100,这一成就不仅标志着富士通在计算机领域的突破,也为其后续在计算机硬件和软件领域的深入发展奠定了坚实基础。FACOM 100的问世,不仅提升了富士通在业界的知名度,也推动了日本乃至全球计算机技术的快速发展。

故事三:全球化战略的推进

自20世纪70年代以来,富士通积极实施全球化战略,通过在全球各地设立研发中心、生产基地和销售网络,不断拓展其国际业务。在中国,富士通自1979年起便开始了其业务布局,从最初的设备销售到后来的技术研发、生产制造和解决方案提供,富士通在中国的发展历程见证了其全球化战略的深入实施。如今,富士通的产品和服务已遍布全球80多个国家和地区,服务超过百万家客户。

故事四:云计算与数字化转型的引领

进入21世纪,随着云计算和数字化转型的兴起,富士通迅速调整战略方向,加大在云计算领域的投入。通过提供全方位的云计算服务和解决方案,富士通帮助客户实现业务的数字化转型和升级。同时,富士通还积极与微软等国际巨头合作,共同开拓全球云计算市场,进一步巩固了其在ICT行业的领先地位。

故事五:技术创新与可持续发展

富士通始终将技术创新作为企业发展的核心驱动力。近年来,富士通在人工智能、物联网、大数据等新兴技术领域取得了显著成就,推出了一系列具有自主知识产权的创新产品和解决方案。同时,富士通还积极履行企业社会责任,通过提供绿色、环保的ICT产品和服务,推动社会的可持续发展。这些努力不仅提升了富士通在全球市场的竞争力,也为其赢得了广泛的赞誉和尊重。

Dionics Inc公司的发展小趣事

近年来,随着全球贸易环境的变化和市场竞争的加剧,Dionics Inc也面临着前所未有的挑战。然而,在公司管理层的坚强领导下,全体员工团结一心、共克时艰。公司不仅成功应对了各种挑战和困难,还通过一系列创新举措实现了业务的稳步增长。展望未来,Dionics Inc将继续坚持创新驱动的发展战略,努力成为电子行业的领军企业之一。

ABCO公司的发展小趣事

ABCO公司初创时,电子市场竞争激烈,众多企业争夺市场份额。面对这样的环境,ABCO公司创始人凭借对电子技术的深刻理解,以及敏锐的市场洞察力,选择了专注于某一细分领域——高精度传感器的研发与生产。通过不断优化产品设计,提升产品性能,ABCO公司的传感器逐渐在市场上获得认可,为公司的起步奠定了坚实基础。

BH Electronics公司的发展小趣事

在快速发展的过程中,BH Electronics始终注重产品品质的提升。公司引入了先进的品质管理体系,对生产过程中的每一个环节进行严格把控。同时,BH Electronics还加强了与供应商的合作,确保原材料的质量符合公司要求。这些措施有效提升了产品的整体品质,赢得了客户的信任和好评。

Hpc Technology Inc公司的发展小趣事

近年来,随着环保意识的提高,BH Electronics积极响应国家绿色发展的号召,开始了绿色转型之路。公司加大了对环保技术的研发和应用力度,推出了一系列绿色环保产品。同时,BH Electronics还优化了生产流程,减少了能源消耗和废物排放。这些举措不仅提升了公司的环保形象,也为公司的可持续发展注入了新的动力。

这五个故事只是BH Electronics发展历程中的一部分,但它们却生动地展现了这家公司在电子行业中的崛起之路。从初创时期的筚路蓝缕,到技术创新的突破;从国际化战略的拓展,到品质管理的提升;再到绿色发展的转型,BH Electronics始终保持着敏锐的市场洞察力和不懈的创新精神。正是这些因素的共同作用,使得BH Electronics能够在激烈的市场竞争中脱颖而出,成为电子行业中的佼佼者。

Amplitronix LLC公司的发展小趣事

随着公司的规模不断扩大,Amplitronix LLC开始重视内部管理和企业文化的塑造。他们引进了一系列先进的管理理念和方法,优化了公司的组织结构和管理流程。同时,公司也注重员工的培训和发展,为员工提供了广阔的职业发展空间和良好的福利待遇。这些措施不仅提升了员工的工作积极性和满意度,也为公司的长远发展奠定了坚实的基础。

问答坊 | AI 解惑

C8051F+OLED+SHT21设计原理图(第二稿),欢迎大家提出宝贵意见

花了几天时间,总算把本次设计的原理图初稿完成了一下,希望关注的朋友们提点意见以助修改。 目前情况是这样的,本设计,我和空灵准备做一个更趋向于产品的小东西,所以可以做得小巧细致。目前方案如下: 1,锂电池组供电,USB通讯供电(目前锂电 ...…

查看全部问答>

这是什么结构体语法?

static struct file_operations qq2440_leds_fops = {         .owner        =        THIS_MODULE,         .ioctl        =  &nb ...…

查看全部问答>

华为3G模块问题,USTS 00 00 01 c0 canceled ,USTS 04 00 01 c0 stall pid

问题描述 :    使用华为的WCDMA 3G模块,自己做一个拨号软件,发现连接和断开有问题,有时候连了很久连不上去,有时候连上了断不开,开始时怀疑我的程序有问题,后面再windows下控制面板->网络连接里面 新建一个连接,然后一直连接, ...…

查看全部问答>

S3C2440中的Uart串口地址问题

请教S3C2440中的Uart串口地址问题:UART0的发送缓冲区地址为0X50000020,接收缓冲区地址为0X50000024,中间只相差4个字节,怎么来的64字节的FIFO缓冲区呢? 谢谢!…

查看全部问答>

COM口资源释放

我在做一个拨号程序,在进行长时间拨号后(同时做数据业务),发现拨号不成功,返回的错误码是COM口被其他程序占用了, 但是这个时候没有其他程序占用COM口,拨号也已经挂断, 我用超级终端打开后发现可以打开COM口, 但是COM口对操作没有任何反应 ...…

查看全部问答>

SYRIS.DLL

谁有SYRIS.DLL动态库的说明啊?给小弟好不好?救命啊!!!!!!!…

查看全部问答>

国内电子书企业 升级还是“等死”

本帖最后由 jameswangsynnex 于 2015-3-3 19:59 编辑 中国互联网巨头盛大推出的电子书内测价格让整个电子阅读器产业感到了前所未有的“寒意”,而友达大规模进军电子书屏幕市场使得电子书屏幕一直被一家企业垄断的格局即将被打破,加上其他企业也 ...…

查看全部问答>

大侠们,救命啊,小弟有关于dsp的问题,请大家解答

小弟最近在做dsp5509向sd卡写入速度的测试实验,可是实验结果相当的不理想,要么是写的数据不完整,要么是写入速度太慢了,用的芯片是5509.有没有哪位大侠做过相关这方面的测试,能和小弟交流下么qq:106703178email:lovejy984@163.com不胜感激啊 ...…

查看全部问答>

高端指纹锁能否促进门禁系统发展

  指纹锁作为门禁识别的衍生产品,依赖于生物识别的技术发展,国外已经逐步兴起进入更多的家庭当中。对于我们国内市场而言,指纹锁的普及率远不及它的名声那样红火。然而对于安防市场,指纹锁仍有可爆发的市场潜力,随着科技的不断进步,高端指纹 ...…

查看全部问答>

关于1117-2.5V

上面输出的是2.2V到2.3V,是给Altera FPGAEP4CE22F17C8的 2.5V管脚供电的,这个可以吗? FPGA会不会无法工作…

查看全部问答>