摘要:KEIL RVMDK编译后的信息Program Size: Code=86496 RO-data=9064 RW-data=1452 ZI-data=16116 Code是代码占用的空间,RO-data是 Read Only 只读常量的大小,如const型,RW-data是(Read Write) 初始化了的可读写变量的大小,ZI-data是(Zero Initialize) 没有初始化的可读写变量的大小。ZI-data不会被算做代码里因为不会被初始化。简单的说就是在烧写的时候是FLASH中的被占用的空间为:Code+RO Data+RW Data程序运行的时候,芯片内部RAM使用的空间为: 阅读全文
关于LWIP---UDP(转)
2013-02-25 09:31 by Chung-shu, 588 阅读, 0 推荐, 收藏, 编辑
摘要:来自:http://blog.csdn.net/zbychhaozeng/article/details/6547928关于LWIP---UDPlwip是一个轻量级的TCP/IP协议栈(Lightweight TCP/IP Stack)实现,最初是瑞士计算机科学学院Adam Dunkels编写的一个应用于无操作系统的嵌入式系统中的TCP/IP协议栈,后来作为一个开源(open source)项目,由一个全球性的团队进行开发和维护。已实现的部分有:1. 标准的TCP/IP协议栈实现,包括TCP、UDP、ICMP、IP、ARP、DHCP;ICMP(Internet control message 阅读全文
使用KEIL模板程序时遇到函数undefined symbol函数(转)
2013-01-17 11:12 by Chung-shu, 580 阅读, 0 推荐, 收藏, 编辑
摘要:使用KEIL CMSIS 例程模板注意在各个模块源文件lpc17xx_xxx.c中,例如ADC, PWM, GPDMA中都有一句 #ifdef _ADC 或 _PWM 或 _GPDMA,但与之对应的 lpc17xx_libcfg.h并没有定义,所以使用这些功能时要在lpc17xx_libcfg.h定义#define _ADC 1#define _PWM 1#define _GPDMA 1 阅读全文
嵌入式C语言不可不用的关键字(转)
2012-12-17 13:56 by Chung-shu, 245 阅读, 0 推荐, 收藏, 编辑
摘要:原文来自:http://blog.csdn.net/zhzht19861011/article/details/59749531.static关键字这个关键字前面也有提到,它的作用是强大的。要对static关键字深入了解,首先需要掌握标准C程序的组成。标准C程序一直由下列部分组成: 1)正文段——CPU执行的机器指令部分,也就是你的程序。一个程序只有一个副本;只读,这是为了防止程序由于意外事故而修改自身指令; 2)初始化数据段(数据段)——在程序中所有赋了初值的全局变量,存放在这里。 3)非初始化数据段(bss段)——在程序中没有初始化的全局变量;内核将此段初始化为0。注意:只有全局变量被分配 阅读全文
上拉电阻 下拉电阻总结(转)
2012-12-17 13:52 by Chung-shu, 245 阅读, 0 推荐, 收藏, 编辑
摘要:原文来自:http://blog.csdn.net/vbvcde/article/details/3904668这篇文章还没看,转载下来,以备不时之需。先看这篇文章:TTL电平和CMOS电平上拉电阻下拉电阻的总结===========================================================上拉电阻:1、当TTL 电路驱动COMS 电路时,如果TTL 电路输出的高电平低于COMS电路的最低高电平(一般为3.5V),这时就需要在TTL 的输出端接上拉电阻,以提高输出高电平的值。2、OC 门电路必须加上拉电阻,才能使用。3、为加大输出引脚的驱动能力,有的单片机 阅读全文
嵌入式C语言之---模块化编程(转)
2012-12-17 12:18 by Chung-shu, 946 阅读, 0 推荐, 收藏, 编辑
摘要:原文来自:http://blog.csdn.net/zhzht19861011/article/details/5974945当你在一个项目小组做一个相对较复杂的工程时,意味着你不再独自单干。你需要和你的小组成员分工合作,一起完成项目,这就要求小组成员各自负责一部 分工程。比如你可能只是负责通讯或者显示这一块。这个时候,你就应该将自己的这一块程序写成一个模块,单独调试,留出接口供其它模块调用。最后,小组成员 都将自己负责的模块写完并调试无误后,由项目组长进行组合调试。像这些场合就要求程序必须模块化。模块化的好处是很多的,不仅仅是便于分工,它还有助于程 序的调试,有利于程序结构的划分,还能增加程 阅读全文
Keil MDK编译器(V4.03)与J-LINK使用(转)
2012-12-17 11:16 by Chung-shu, 385 阅读, 0 推荐, 收藏, 编辑
摘要:原文来自:http://blog.csdn.net/zhzht19861011/article/details/5924218 前几天进手了一个J-LINK,因为H-JTAG毕竟对MDK支持的不是太完美,比如用keil mdk上面的下载按钮烧录程序,不是直接就能烧录进去,而是弹出H-Flash软件,再手工选择文件烧录;而且用H_JTAG单步调试还容易莫名其妙的跑 飞。好在J-LINK不是太贵(我是说国内仿制的),mdk又能比较完美的支持J-link,今天就将我使用mdk和J-link的情况做一下记录。 我把MDK升级到了V4.10,之前使用的V4.01,当然这个V4.10也不是最新版,最新版应 阅读全文
Keil MDK入门---从新建一个工程开始(转)
2012-12-17 10:53 by Chung-shu, 428 阅读, 0 推荐, 收藏, 编辑
摘要:原文来自:http://blog.csdn.net/zhzht19861011/article/details/5964827 熟悉Keil C 51的朋友对于Keil MDK上手应该比较容易,毕竟界面是很像的。但ARM内核毕竟不同于51内核,因此无论在设置上还是在编程思想上,都需要下番功夫研究的。本文以MDK V4.03为例,详细的写一下MDK的设置、界面、工具。可能会有些杂乱,但我想所涉及的东西都是最常用的;可能不是那么的严谨清晰,我想谁也没把我期望 成专家!哈,有问题欢迎留言。正式开始。 首先启动MDK.当然要先安装好MDK,如果找不到在哪里下载,可以翻翻我以前的博文。启动后的MDK.. 阅读全文
KEIL MDK环境下uCOS-II在LPC17xx上的移植实例
2012-12-14 17:15 by Chung-shu, 2538 阅读, 0 推荐, 收藏, 编辑
摘要:1. 知识准备要想对ucos-ii的移植有较深的理解,需要两方面知识:(1)目标芯片,这里是lpc17xx系列芯片,它们都是基于ARMv7 Cortex-M3内核,所以这一类芯片的ucos-ii移植几乎都是一样的,要想了解Cortex-M3内核,推荐《ARM Cortex-M3权威指南》(宋岩译);(2)ucos-ii内核原理,推荐《嵌入式实时操作系统uC/OS-II(第2版)》(邵贝贝译)。2. 下载文件ucos-ii移植过程主要涉及三个文件:os_cpu.h, os_cpu_a.asm和os_cpu_c.c实际上,一般情况下,我们想要移植的目标芯片前辈们都已经移植成功过了,我们需要做的就是 阅读全文
《LINUX设备驱动程序》学习之与硬件通信(并行接口)实例
2012-11-26 16:22 by Chung-shu, 1991 阅读, 0 推荐, 收藏, 编辑
摘要:注意: 在学习这一节内容时,我根据书本写了一个并口驱动程序,然后用一个LED发光二极管、一个电阻以及一些导线和电脑主机的并口连接了一条回路,最后通过测试程序控制LED灯的开启、关闭,验证了并口驱动程序的正确性。整个过程没出现什么意外状况,但是有网友指出,这个实验是非常危险的,所以如果你想尝试,得足够了解可能会出现的意外情况。1. 并行接口(并口)简介并行接口是常见的一种I/O接口,通常主机上是25针D型接口。其引脚如下:为操作并行口,SPP(Standard Parallel Port标准并行接口)定义了寄存器,并映射到PC机的I/O空间。寄存器包括了以并口地址为基址的3块连续 的寄存器,并. 阅读全文