JZ2440裸机程序汇总

最近入手了JZ2440开发板,将JZ2440开发板上的硬件资源逐个调试了一些,我将这些功能做到了一个project中,代码放在GitHub上,大家可以前往下载。
GitHub代码地址:https://github.com/xfqjklw/jz2440_simple_system.git

该project支持openjtag在线调试

#define OPENJTAG_DEBUG 0
1:编译的代码可以通过openjtag调试
0:编译的代码可以烧录到flash中

该project中有如下功能:
(很多功能并未打开,可以将对应的宏设置为1,打开并测试这些功能)

1.串口功能
默认支持串口打印,其中如下三个宏分别使用DMA和FIFO的方式进行uart收发

#define UART_SEND_DMA 0
#define UART_RECV_DMA 0
#define UART_FIFO_RECV_INT 1  //use recv fifo and interrupt

2.LED功能

3.按键功能(外部中断)

通过三个按键点亮对应的LED灯,如果打开了USB鼠标功能,则作为鼠标左键和右键

4.定时器
每隔一段时间打印

#define TIMER_TEST 0

5.RTC

#define RTC_TEST 0

6.USB传输(DNW)
通过dnw将文件发往该程序,dnw的linux代码和驱动在代码目录中的dnw下,需要将驱动和dnw应用进行编译,方法可以百度一下。

#define USB_DEVICE_BULK  0

7.USB鼠标
将usb device口插入到电脑,会开始枚举,两个按键分别对应鼠标左右键。

#define USB_DEVICE_MOUSE 1

8.WM8976
提供简单的播放音乐功能,测试音频文件为windowsXP.wav,采样率22.025KHZ,需要先将该音频文件先烧录到flash的0x60000位置

#define WM8976_TEST     0
#define WM8960_BYPASS_TEST 1

9.LCD
提供简单的显示功能

10.Touch Screen
简单打印x/y采样值

通过这些裸机程序可以了解硬件操作的一些基本知识,了解中断,位置无关特性,arm汇编语言等很多基础知识,为后续学习uboot ucos linux内核做好准备。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值