C
文章平均质量分 92
lininglive
这个作者很懒,什么都没留下…
展开
-
SD初始化过程以及Cmd解析
SD:1条CMD线,所有的命令和回应都是通过这条线一位一位的传输.不同模式或不同版本下,命令有不同含义.(SD(SD[0],SD[3:0]),SPI))1条时钟线,时钟源是来自APH总线时钟4条数据线,SPI模式下用了两条(一条输出,一条输入),SD的一位模式下一条(输出输入),也可以用完四条(输出输入,DATA[0]将分时复用). SD卡是以块为单位,初始化时有配置,一般为5转载 2016-07-08 15:08:55 · 1191 阅读 · 0 评论 -
如何防止EEPROM丢数据
一些工程师在使用EEPROM会出现EEPROM丢失的情况。 1、电源异常使EEPROM的数据彻底丢失;2、复位不好和软件跑飞可能会使EEPROM的数据被改写。要防止EEPROM数据被破坏,主要在以下几方面做工作:1、选用比MCU的电源范围宽并有WP引脚的EEPROM芯片;2、做好电源滤波,而且要等电源开机稳定后才去读写EEPROM;3、做好复位电路;4、做好转载 2015-01-13 12:02:33 · 3041 阅读 · 0 评论 -
RVMDK环境下STM32的链接过程
编译一开始,RVMDK环境开始对每一个 *.s 文件和 *.c文件进行编译,然后到了“linking”的时候,就是编译器开始对各个文件进行链接。把所有的 *.o文件链接成一个可执行的文件,生成一个 *.hex文件,这个文件就是我们可以下载到flash中执行的文件。我们再看main()函数下面(在usart.c下面)调用了很多的函数,比如:printf()、lcdWrStr()等等,这个函数根本转载 2012-08-29 11:46:10 · 1532 阅读 · 0 评论 -
keil 代码定位
在汇编中数据段和程序段都比较容易定位,例如程序1:cseg at 0x0000 ljmp main dseg at 0x20 aa: ds 1 iseg at 0xC0 bb: ds 1 xseg at 0x0010 cc: ds 1 cseg转载 2012-08-29 11:40:53 · 2511 阅读 · 0 评论 -
keil中函数变量定位方法
函数绝对定位方法:将链接方式从LX51改回BL51,然后再BL51 Locate中的Code框中写入:?PR?_DELAY?DELAY(0x8000)其中,前面那个_DELAY是指函数名叫做delay,前面为什么要加_还不清楚,而且原来无论是什么这里都是大写;后面那个DELAY是指文件名叫做delay,也就是说这个函数要到delay.c中去找;括号里面的当然就是要定位到的地址了转载 2012-08-29 11:37:23 · 2250 阅读 · 0 评论 -
Realview MDK中链接脚本详细解析
我们在以前的文章里面说过一些链接脚本的应用,但是还是没能系统的介绍,也没有能体现出它的重要性,下面我们来着重介绍一下:使用ARM使用Realview MDK时不可避免的要涉及到链接脚本文件,特别是编译链接那些大的工程文件时更是如此。在编译大的工程文件的时候,如果不掌握好一些链接脚本的编写方法的话,那么有可能会使内存溢出而编译不通过,这样子那就真的比较麻烦了。那么链接脚本有哪些功能呢?转载 2012-08-29 11:48:41 · 962 阅读 · 0 评论 -
Realview MDK中链接脚本详细解析
使用Realview MDK时 不可避免的要涉及到链接脚本文件,特别是编译链接那些大的工程文件时更是如此。在链接脚本中可以指定代码的存储布局,可以将代码段、只读数据段、可读写的 数据段分别存放,甚至可以精确地指定代码放置的位置,这一点是很关键的,譬如说启动代码就必须放在可知型文件的开始位置。由于链接脚本重要性,开发者必须 掌握其编写的方法。Realview MDK链接程序使用了两种方式控制转载 2012-08-29 11:46:59 · 1024 阅读 · 0 评论 -
谈在keil下的代码定位
关于C语言,我们一般都知道对于RAM定位可以用关键字 _at_,但对于程序代码定位往往感到很迷惑,其实keil中的程序代码定位功能极为强大Menu: Options for Target 'Target' -> BL LocateUse Memory Layout from Target DialogCode Range: 0X01D3-0XFFFFXdata Ra转载 2012-08-29 11:45:36 · 1038 阅读 · 0 评论 -
scanf()的用法经验
引用embeded-life 的 scanf()在学习C语言的时候,printf()是我们学到的第一个函数,相信“hello world”这个例子大家都不会陌生吧,接着就是scanf()这个函数了,这个函数的功能是格式输入,它的函数原型是: int scanf(const char *format,…); 这个函数的基本用法这里就不说了,这里介绍一些这个函数使用中常转载 2011-12-08 17:17:47 · 1094 阅读 · 0 评论