历史上的今天
今天是:2024年12月23日(星期一)
2020年12月23日 | jz2440裸板开发之GPIO:点亮一个led灯(1)
2020-12-23 来源:eefocus
实验目的:点亮一个led灯。(使用arm汇编指令)
实验原理:
在这里点亮一个nLED_2,其对用的引脚是GPF5,在GPIO中,每个引脚对有配置寄存器和数据寄存器,对于本例其配置寄存器为GPFCON:0x56000050,和数据寄存器GPFDATA:0x56000054.要设置GPF5(GPF5为GPFCON的第十和十一引脚,【11,10】=01时为输出)为输出引脚,并根据电路原理图,可知是设为低电平,才能点亮LED2.所以[0x56000050]=0x00000400). [0x56000054]=0x00000000
实验步骤:
在linux下编辑源程序,然后利用自己编写的Makefile来对源程序的编译和链接生成bin文件,最后通过文件传输到window下,利用板子里nor flash中的u-boot烧写 到 nandflash。再利用window下的dnw下载到板子里面.最后重启板子,对板子设为nand flash启动,运行程序,观察效果。
实验工具:远程登录开发板jz2440工具:SecureCRT 5.2、 实现linux和window文件共享工具SSH Secure File Trsanfer Client
编译工具:linux下的交叉编译链(即编写一个makefile文件来对文件进行编译连接)
实验代码:源程序:led_on.S 和Makefile
led_on.S编写如下:
.text
.global _start
_start:
ldr R0,=0x56000050
mov R1,#0x00000400
str R1,[R0]
ldr R0,=0x56000054
mov R1,#0x00000000
str R1,[R0]
MAIN_LOOP:
B MAIN_LOOP
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
注意事项:看过原理图之后吧,然后才去看数据手册,找到寄存器对应的地址。例如寄存器GPFCON的地址。一定要保证寄存器的地址正确!
史海拾趣
|
要实现wince5.0的无线上网功能,用的是中兴的AT2736无线上网卡,是电信的CDMA2000。接口是USB的,目前的想法是将USB虚拟成串口,然后对串口发送AT指令操作上网卡。 如何将USB虚拟成COM呢,以前没有接触过,没思路,有研究的大侠帮忙给个框架和思路 ...… 查看全部问答> |
|
switch (wMsg) { case WM_CREATE: hInstance = ((LPCREATESTRUCT) lParam)->hInstance ; &nb ...… 查看全部问答> |
|
各位高手有没有测试过加速计和陀螺仪这两颗的功能阿,三轴加速计有X,Y,Z三个电压输出,都是经过其内部的AD转换后输出的,不知道这三个方向上的电压是怎么变化的,是有加速度的时候变化呢,还是位置改变了变化啊? 陀螺仪有X,Y两个电压输出,也是 ...… 查看全部问答> |
|
很多MTD驱动都有调用simple_map_init()函数来初始化read,write等函数,不知道这个函数的用法,请大虾帮忙讲一讲啊,如果我需要改变这些read,write函数,该怎么办啦?… 查看全部问答> |
|
各位高手,高手,高高手们:新手使用XILINX的 XC95288,有个问题求助:我从一块XC95288上readback后,保存成.jed文件,然后再烧入到另外一个片子后,另外这个片子就不能readback了,然后我擦除写入的这个文件后,就又能readback了,这是为什么呢? ...… 查看全部问答> |
|
准备用lm3s做一个项目,有点问题,喜欢Stellaris的进来 在论坛潜伏了很长时间,终于有机会用到lm3s了,由于刚从8位单片机转过来,还有很多问题想和大家探讨。 先说说选择lm3s的原因,毕竟cm3定位是低价位,从硬件功能和价格上来说,替换8位/16位的单片机还是有优势的。加上stellaris的api库确实不错,连 ...… 查看全部问答> |
|
各位高手大家好,小妹我用此板子的UART出了一點問題,大家可以幫幫我嗎? 感激不盡 問題是這樣的,我開啟了八個UART,為了使輸入資料可以做辨識,個別在UART4跟UART5的地方 加了三個#字號跟一個通道編號 例如:UART4是 ###Edata 這樣 ...… 查看全部问答> |




