2013-5-1
来源:互联网 发布:复杂流程图 软件 编辑:程序博客网 时间:2024/06/01 08:58
看了多特和皇马的欧冠比赛,皇马还是被KO了。最残忍的是给了你希望,又让你绝望。不过皇马全武行,也抗不过多特的小配合,水银泻地似的,太给力了。皇马现在就一流氓豪门,已经没了以往的风采了。
言归正传。上午去老七公司宿舍,看了我写的代码,直接全部删掉,然后让我重写。这才发现自己之前的C语言白学了,位操作不熟,coding style几乎没有!看了老七写的代码,自己想跳楼的心都有了。操作register,一定要带volatile这个关键字,不然就是错的。清除位是用&操作。
代码如下:
/* led */
#define GPJ2CON 0xE0200280
#define GPJ2DAT 0xE0200284
/* pwm */
#define GPD0CON 0xE02000A0
#define GPD0DAT 0xE02000A4
void function(void)
{
volatile u32 reg_val;
/*****light up led*****/
//set pin output
reg_val = *(volatile u32 *)GPJ2CON;
reg_val &= ~(0xF<<4);//clear bits(12~15)
reg_val |= 0x1<<4;//set bit
*(volatile u32 *)GPJ2CON = reg_val;
reg_val = *(volatile u32 *)GPJ2DAT;
reg_val &= ~(0x1<<4);//low power(bit 4)
*(volatile u32 *)GPJ2DAT = reg_val;
/*****pwm buzzer*****/
reg_val = *(volatile u32 *)GPD0CON;
reg_val &= ~0xF;//clear bits(0~3)
reg_val |= 0x1;//set bit(0~3)
*(volatile u32 *)GPD0CON= reg_val;
reg_val = *(volatile u32 *)GPD0DAT;
reg_val &= ~0x1;//low power
*(volatile u32 *)GPD0DAT = reg_val;
}
Tiny210V2 booting sequence:
1、系统上电,ROM中的固化代码做初始化操作;
2、根据跳线,选择booting device,加载BL1、BL2到SRAM执行;
3、加载OS code到DRAM,跳到OS code执行。
VIM是linux上的主要文本编辑器,VIM会影响思维,有很多优秀的skill。熟悉VIM操作,在linux上开发是必须的。
- 2013-5-1
- 敏捷日志2013-1-5
- 美妙的微机原理2013/5/1
- 美妙的模电2013/5/1
- 2013-5-17-1编码解码
- linux 学习笔记 2013年1月5日
- acm竞赛小结5 BUAA Training 2013 #1
- 2013年1月到5月的总结
- 2013年杭电多校第1场第5题 Deque
- 2013-5-7
- 2013-5-12
- 2013-5-13
- 2013-5-19
- 2013-5-23
- 2013-5-27 阴
- 2013-5-27
- 2013/5/27
- 2013/5/28
- 关于 DEBUG_NEW
- 解像度
- Verification and Change-Impact Analysis of Access Control Policies
- android 反编译
- 在Linux下安装android开发环境并以USB调试方式链接手机进行开发
- 2013-5-1
- Testing security policies: going beyond functional testing
- 文件系统 btrfs
- qemu 学习(一)————qemu整体流程解读
- Transforming and Selecting Functional Test Cases for Security Policy Testing
- 临时代码 存储
- 人生的五大投资 个人觉得很在理,警醒!
- Mutation Analysis for Security Tests Qualification
- PE格式详解6 输入表