茫茫大士的个人空间 https://bbs.21ic.com/?849427 [收藏] [复制] [RSS]

日志

TQ2440裸跑-GPIO

已有 715 次阅读2014-7-12 14:58 |个人分类:TQ2440|系统分类:嵌入式系统| 寄存器, linux, 高电平, 嵌入式, 东山


                        0实验环境与实验例程

实验环境:TQ2440


实验例程:韦东山 嵌入式linux应用开发完全手册



1 原理图

TQ2440裸跑-GPIO



TQ2440裸跑-GPIO




控制LED1~4的引脚为GPB5~8


当GPB5~8输出低电平点亮相应的LED,当GPB5~8输出高电平点相应的LED熄灭


TQ2440裸跑-GPIO



TQ2440裸跑-GPIO





kn按下输入0,弹开输入1;



K1控制GPF1输入,K2控制GPF4输入,K3控制GPF2输入,K4控制GPF0输入。


2 数据手册

GPB相关寄存器的设置;GPBDAT初始化是寄存器值undef


TQ2440裸跑-GPIO



TQ2440裸跑-GPIO



3 总结

寄存器的按位设置(bitn)


置0:R &= ~(1<<n)


置1:R|=(1<<n)


4 问题及解决方法:

现象:nandflash启动时几个LED都亮


原因:因为GPBDAT复位时寄存器值undef(不定)


TQ2440关于length of the file is too
big问题解决

背景:


    测试自己写的一个小裸机程序led.bin:控制一个led灯。


下载:


    用nor
flash的u-boot的某一个选项通过USB下载(下载软件为DNW)将
led.bin烧写到sdram中。


遇到的问题:


    下载成功,可是烧写失败:length
of the file is too big。


解决:


    不能用DNW下载(据说是DNW的一个BUG,不能下载太小的程序),而应该用TFTP烧写。



=============================================================================


接下来遇到的问题:



    用TFTP烧写(我使用的是TftpWin)时遇到的问题:开发板能与主机互通,可是总是烧写失败--T
T T T T


解决:



    先查看主机69端口是否开启。




5扩展流水灯

例程下载:


led流水灯(从左到右,从右到左循环)ledliushui.rar


                                                       
               

路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)