2017年4月30日

摘要: (1)C 语言中 extern 变量和 global 变量有什么区别 阅读全文
posted @ 2017-04-30 11:17 AcmenLiang 阅读(172) 评论(0) 推荐(0) 编辑

2017年4月28日

摘要: 第六课 中断体系结构 <1>ARM中断体系结构 (1)7种工作模式 (2)异常 <2>S3C2440中断体系结构 (1)中断处理过程 (2)相关寄存器 <3>源码分析 1.EINT0~3是无需在EINTMASK寄存器(外部中断屏蔽寄存器)中使能的,但是EINT4~24就需要在加一条语句了,如: EI 阅读全文
posted @ 2017-04-28 17:14 AcmenLiang 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 在编写嵌入式程序时,尤其是在汇编程序中调用C函数之前,要设置堆栈指针SP,首先要搞清楚,堆栈是做什么。 我们常说的堆栈,其实是栈,而不是堆,所谓“栈”从字面意思就能看出,跟“客栈”意思相同,意思是临时存放或入住的一个地方,对于程序来说,就是用于存储函数中的局部变量以及保存寄存器参数的,C程序函数一般 阅读全文
posted @ 2017-04-28 17:13 AcmenLiang 阅读(2140) 评论(0) 推荐(0) 编辑

2017年4月24日

摘要: /************************************* 常用设置 ********************************/ 1.括号配对高亮:“在前括号左侧,后括号左侧” 双击鼠标左键,可以选定匹配括号和其中内容(<>,(),L{R},[]之间) 2.让{ 和 } 不 阅读全文
posted @ 2017-04-24 22:36 AcmenLiang 阅读(1098) 评论(0) 推荐(0) 编辑

2017年4月11日

摘要: 第五课:Nand Flash控制器实验 一: (1)地址空间的概念 (2)NAND的编址 (3)NAND的命令 (4)使用S3C2440的NAND FLASH控制器访问NAND FLASH 二: 源码分析 阅读全文
posted @ 2017-04-11 20:34 AcmenLiang 阅读(197) 评论(0) 推荐(0) 编辑

2017年4月7日

摘要: 第四课:内存管理单元MMU <1>MMU介绍 (1)权限管理 (2)地址映射 <2>源码分析 P116的memsetuo函数关注下。 阅读全文
posted @ 2017-04-07 11:35 AcmenLiang 阅读(176) 评论(0) 推荐(0) 编辑

2017年4月5日

摘要: 第三课:存储控制器,SDRAM实验(相关具体上课内容在纸质笔记本上记录过) <1>S3C3440启动方式: (1)NOR FLASH启动 (2)NAND FLASH启动 (3)程序链接地址 <2>相关寄存器介绍 <3>源码分析 阅读全文
posted @ 2017-04-05 11:27 AcmenLiang 阅读(119) 评论(0) 推荐(0) 编辑

2017年4月3日

摘要: 1 #define GPFCON (*(volatile unsigned long *)0x56000050)//(int *)是将变量强制转换为地址形式,这样就能和指针连起来用了。 2 #define GPFDAT (*(volatile unsigned long *)0x56000054) 3 4 #define GPGCON (*(volatil... 阅读全文
posted @ 2017-04-03 19:47 AcmenLiang 阅读(1911) 评论(0) 推荐(0) 编辑
摘要: 我们经常要对一整段代码进行注释,很多代码编辑器都提供了这样的功能:用快捷键“Ctrl + /”来实现“//”的多行注释。 但是在用source insight的时候,发现竟然没有这样的功能。于是在网上搜了一下,sourceinsight里面的多行注释可以用宏来实现。 以下是实现多行注释的宏代码(在别 阅读全文
posted @ 2017-04-03 15:48 AcmenLiang 阅读(301) 评论(0) 推荐(0) 编辑
摘要: 1、指针的初始化 指针初始化时,“=”的右操作数必须为内存中数据的地址,不可以是变量,也不可以直接用整型地址值(但是int*p=0;除外,该语句表示指针为空)。此时,*p只是表示定义的是个指针变量,并没有间接取值的意思。 例如: int a = 25; int *ptr = &a; int b[10 阅读全文
posted @ 2017-04-03 15:20 AcmenLiang 阅读(109) 评论(0) 推荐(0) 编辑

导航