2012年11月23日
摘要: 开发板的配置文件fl2440.h(/include/configs/fl2440.h)修改配置 /*-------------------------------------------------------------------* FLASH and environment organization*/ #define CONFIG_SYS_MONITOR_BASE T... 阅读全文
posted @ 2012-11-23 13:48 WithYouTh 阅读(291) 评论(0) 推荐(0) 编辑
摘要: (参考文档)增加yaffs文件系统 移植环境主机环境:VMare下 RHEL6 ,1G内存。编译编译环境:arm-linux-gcc v4.4.3,arm-none-eabi-gcc v4.5.1。开发板:fl2440,2M nor flash,128M nand flash。u-boot版本:u-boot-2009.08添加Yaffs2镜像烧写功能由于现在很多使用Nand Flash 的系统,... 阅读全文
posted @ 2012-11-23 13:47 WithYouTh 阅读(1014) 评论(0) 推荐(0) 编辑
摘要: (文件参考)http://www.linuxidc.com/Linux/2011-05/35982.htm 移植环境主机环境:VMare下 RHLE6,1G内存。编译编译环境:arm-linux-gcc v4.4.3,arm-none-eabi-gcc v4.5.1。开发板:fl2440,2M nor flash,128M nand flash。u-boot版本:u-boot-2009.08u-... 阅读全文
posted @ 2012-11-23 13:45 WithYouTh 阅读(548) 评论(0) 推荐(0) 编辑
摘要: (参考文章) http://www.linuxidc.com/Linux/2011-05/35982.htm移植环境 主机环境:VMare下RHLE6 ,1G内存编译编译环境:arm-linux-gcc v4.3.2 开发板:FL2440,4M nor flash: JS28F320J3D,256M nand flash(k9f2g08) u-boot版本:u-boot-2009.08 目录结构 启动流程 移植步骤 建立fl2440开发板文件并编译测试定位到board/samsung,将目录smdk2410复制并粘贴到board目录下,将其重命名为fl2440。 打开fl2440目录,将smd 阅读全文
posted @ 2012-11-23 13:39 WithYouTh 阅读(363) 评论(0) 推荐(0) 编辑
  2012年11月17日
摘要: BSS(Block Started by Symbol)这个词最初是UA-SAP汇编器(United Aircraft Symbolic Assembly Program)中的一个伪指令,用于为符号预留一块内存空间。一般C语言的编译后执行语句都编译成机器代码,保存在.text段;已初始化的全局变量和静态变量都保存在. data段;未初始化的全局变量和静态变量一般放在一个叫."bss"的段里。我们知道未初始化的全局变量和局部静态变量默认值都为0,本来它们也可以被放在.data段的,但是因为它们都是0,所以为它们在.data段分配空间并且存放数据0是没有必要的。程序运行的时候它 阅读全文
posted @ 2012-11-17 21:51 WithYouTh 阅读(1135) 评论(0) 推荐(0) 编辑
摘要: 一.预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)—由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap)—一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。3、全局区(静态区)(static)—,全... 阅读全文
posted @ 2012-11-17 20:06 WithYouTh 阅读(161) 评论(0) 推荐(0) 编辑
摘要: BSS段:BSS段(bsssegment)通常是指用来存放程序中未初始化的全局变量和静态变量的一块内存区域。BSS是英文BlockStartedbySymbol的简称。BSS段属于静态内存分配。 数据段:数据段(datasegment)通常是指用来存放程序中已初始化的全局变量和静态变量的一块内存区域。数据段属于静态内存分配。 代码段:代码段(codesegment/textseg... 阅读全文
posted @ 2012-11-17 18:14 WithYouTh 阅读(324) 评论(0) 推荐(0) 编辑
摘要: 惨痛教训: 假设在test.h中定义了一个static bool g_test=false; 若test1.c和test2.c都包含test.h,则test1.c和test2.c分别生成两份g_test,在test1.c 中置g_test=true,而test2.c中仍然为false并未改变!shit!! 一、c程序存储空间布局 C程序一直由下列部分组成: 1)正文段——CP... 阅读全文
posted @ 2012-11-17 17:16 WithYouTh 阅读(265) 评论(0) 推荐(0) 编辑
摘要: Keil C51程序设计中几种精确延时方法 摘要 实际的单片机应用系统开发过程中,由于程序功能的需要,经常编写各种延时程序,延时时间从数微秒到数秒不等,对于许多C51开发者特别是初学者编制非常精确的延时程序有一定难度。本文从实际应用出发,讨论几种实用的编制精确延时程序和计算程序执行时间的方法,并给出各种方法使用的详细步骤,以便读者能够很好地掌握理解。 关键词 Keil C51 精确延时 程... 阅读全文
posted @ 2012-11-17 16:38 WithYouTh 阅读(951) 评论(0) 推荐(1) 编辑
摘要: 在keil C51中,直接调用库函数: #include<intrins.h> // 声明了void _nop_(void); _nop_(); // 产生一条NOP指令 作用:对于延时很短的,要求在us级的,采用“_nop_”函数,这个函数相当汇编NOP指令,延时几微秒。 NOP指令为单周期指令,可由晶振频率算出延... 阅读全文
posted @ 2012-11-17 16:16 WithYouTh 阅读(2031) 评论(0) 推荐(0) 编辑