RK2706播放器启动代码简述与点亮背景灯

2011-10-20 20:25 [复制链接] 6 6493

首先看启动代码:- u$ T5 g0 \4 S3 b5 t8 H7 {
常见的设置频率,Cache等请各位自己参考datasheet,启动代码中值得注意的是中断采用了二级跳转.因为ARM核的关系,中断来临会跳到0x00000000(及附近).然而我们的用户代码是位于0x60000000,如不在0x00000000地址处放上新的跳转代码,中断来临便会跑飞.所以启动代码得实现复制特定向量表到0x00000000地址的功能.5 E1 \4 S( `  N: u) D* u
此表如下:
8 `" M6 P0 U2 F, D) m int_table.jpg ; t1 ~) a8 Z2 ~) x# i
复制上表代码如下:
" h1 _* S2 h2 W. Z9 t1 U: C& y copy_table.jpg
& X6 ?* H! Z; M* \2 e; }; J还要特别注意的是,MDK下进入main函数得用:
! k2 U9 e5 Z% u' P+ P main.jpg
3 T5 {6 a" |. K& y) d1 u" s这样才会正确初始化RW与ZI段.3 `* B+ s6 _' l6 N: i

8 T0 A7 a; s. x% d4 _7 q这里不以串口为例子是因为串口对于RK2706播放器来说是无意义的(而且并不是所有人会拆机).因为其复用功能的关系(同时也是LCD D16与LCD D17),并且RK2706播放器的LCD为18bit,既串口与LCD是互斥关系.
  v/ A+ u# ?! l" F查看原理图得知控制背景灯的为PD4.
% O; z5 q+ T! }* m8 k: L- r b.jpg
# H; c1 a' E$ ?2 Q根据datasheet,编写如下函数:
  1. #include "rk27xx.h"
  2. void main(void)
  3. {
  4.         int num;
  5.         /* PD4 配置为输出 */
  6.         GPIO_PDCON |= (1<<4);
  7.         while (1)
  8.         {
  9.                 /* PD4 输出高电平 */
  10.                 GPIO_PDDR |= (1<<4);
  11.                 num = 10000000;
  12.                 while (num--);
  13.                 /* PD4 输出低电平 */
  14.                 GPIO_PDDR &= ~(1<<4);
  15.                 num = 10000000;
  16.                 while (num--);
  17.         }
  18. }
复制代码
编译并生成bin,利用rk27laod工具下载到0x60000000运行.看到背景灯已经闪起来表明已成敲开RK2706的大门了.(注意这里可以使用本版的MDK工程,要自己新建工程朋友如对工程选项部分有疑问请自行参考本版MDK工程)
使用道具 举报 显示全部楼层 回复
最新评论 | 正序浏览
显示全部楼层 |楼层直达:
发表于 2012-4-8 15:53:00 | 显示全部楼层

RK2706播放器启动代码简述与点亮背景灯

看到学习系统的便宜方案了,谢谢!
使用道具 举报 回复
发表于 2012-4-8 16:18:03 | 显示全部楼层

RK2706播放器启动代码简述与点亮背景灯

附件在哪儿?给看不?
使用道具 举报 回复
发表于 2012-4-8 20:26:26 | 显示全部楼层

RK2706播放器启动代码简述与点亮背景灯

附件在哪儿?给看不?
打包的代码在本板块的其它贴子里面有下载。
使用道具 举报 回复
发表于 2014-10-24 15:09:57 | 显示全部楼层

RK2706播放器启动代码简述与点亮背景灯

楼上是想楼主跑进电脑来给你当编译器?
使用道具 举报 回复
发表于 2018-1-25 09:58:55 | 显示全部楼层
666,厉害了。
使用道具 举报 回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|RT-Thread开发者社区  

© 2013-2017 上海睿赛德电子科技有限公司 沪ICP备13014002号-1

Powered by RT-Thread

快速回复 返回顶部 返回列表