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

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

首先看启动代码:
# m# Q, C, G, j常见的设置频率,Cache等请各位自己参考datasheet,启动代码中值得注意的是中断采用了二级跳转.因为ARM核的关系,中断来临会跳到0x00000000(及附近).然而我们的用户代码是位于0x60000000,如不在0x00000000地址处放上新的跳转代码,中断来临便会跑飞.所以启动代码得实现复制特定向量表到0x00000000地址的功能.
, y0 g! G8 F1 K此表如下:
+ O- X( w: F3 H0 t  i int_table.jpg
5 v& B5 T" r8 q6 u复制上表代码如下:
. y- Z1 {( V# [  Y copy_table.jpg   ~+ z; w1 `7 {# c8 K( L% F: s, W) G7 U
还要特别注意的是,MDK下进入main函数得用:
- A/ S, s7 y7 a$ t: e main.jpg 7 _4 }9 V- R: \  Y5 X4 {$ D5 ^
这样才会正确初始化RW与ZI段.
$ {; i% m7 W- Y9 [
0 {  H/ M$ }) r# G这里不以串口为例子是因为串口对于RK2706播放器来说是无意义的(而且并不是所有人会拆机).因为其复用功能的关系(同时也是LCD D16与LCD D17),并且RK2706播放器的LCD为18bit,既串口与LCD是互斥关系.$ Z2 O" U4 Q' v( J) r
查看原理图得知控制背景灯的为PD4.+ N0 F# N- q. N" a5 G: `
b.jpg & _2 w1 F. O% M) n4 C, l
根据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,厉害了。
使用道具 举报 回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

Powered by RT-Thread

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