C 语言
文章平均质量分 74
hailongwang2412
人生需要靠自己的努力。
展开
-
内存对齐
内存对齐 (3张) 大部分的参考资料都是如是说的:1、平台原因(移植原因):不是所有的硬件平台都能访问任意地址上的任意数据的;某些硬件平台只能在某些地址处取某些特定类型的数据,否则抛出硬件异常。2、性能原因:数据结构(尤其是栈)应该尽可能地在自然边界上对齐。原因在于,为了访问未对齐的内存,处理器需要作两次内存访问;而对齐的内存访问仅需要一次访问。对齐规则每个特定平台上的转载 2017-03-18 20:00:27 · 196 阅读 · 0 评论 -
Stm32 Bootloader整理
Stm32 Bootloader整理热度 2已有 1485 次阅读2015-4-26 17:41 | Cortex-M3, stm32, bootloader一. 基本概念1.IAPIAP是In Application Programming的首字母缩写,IAP是用户自己的程序在运行过程中对User Flash的部分区域进行烧写,目的是为了在产转载 2017-08-09 17:32:35 · 1966 阅读 · 0 评论 -
__main() 和 main()
__main() 和 main()标签: 编译器import化工存储flashc2012-07-16 16:09 7237人阅读 评论(0) 收藏 举报 分类:Linux驱动(27) __main() 和 main()(转载)因为我们通常在BOOTLOADER中都已做好了比较细致的初始化工作,包括代码的搬运,所以我们最好别再调用库转载 2017-08-09 17:31:11 · 871 阅读 · 0 评论 -
keil MDK中如何生成*.bin格式的文件
首先要说明一下.bin 文件和.hex文件的区别。.hex文件是单片机程序编辑完之后常见的文件格式,是内容是ASCLL码,也就是0x00-0xff的字符格式。比如'1'对应的是0x31。任何字符都是有对应的0xXX的ASCLL码。也就是最常见的text格式。比如一个hex格式文件的内容为:30 31 32 33 表示文本格式的字符“0123”然而bin文件的转载 2017-08-09 10:47:39 · 785 阅读 · 1 评论 -
断言(ASSERT)的用法
断言(ASSERT)的用法 我一直以为assert仅仅是个报错函数,事实上,它居然是个宏,并且作用并非“报错”。 在经过对其进行一定了解之后,对其作用及用法有了一定的了解,assert()的用法像是一种“契约式编程”,在我的理解中,其表达的意思就是,程序在我的假设条件下,能够正常良好的运作,其实就相当于一个if语句:if(假设成立){ 程序正常运行;}e转载 2017-07-05 14:36:47 · 1162 阅读 · 0 评论 -
assert宏
assert宏的原型定义在中,其作用是如果它的条件返回错误,则终止程序执行,原型定义:#include void assert( int expression );assert的作用是现计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,然后通过调用 abort 来终止程序运行。请看下面的程序清单badptr.c:#i转载 2017-07-05 13:49:38 · 368 阅读 · 0 评论 -
RO,RW和ZI
要了解RO,RW和ZI需要首先了解以下知识:ARM程序的组成此处所说的“ARM程序”是指在ARM系统中正在执行的程序,而非保存在ROM中的bin映像(image)文件,这一点清注意区别。一个ARM程序包含3部分:RO,RW和ZIRO是程序中的指令和常量RW是程序中的已初始化变量ZI是程序中的未初始化的变量由以上3点说明可以理解为:RO就是readonly,RW就转载 2017-04-27 16:54:13 · 434 阅读 · 0 评论 -
两种for循环的优缺点
两种for循环的优缺点 (2013-05-02 18:35:51)转载▼ 阅读以下两个循环,回答问题1和问题2。循环1:for (i=0;i{ if(condition) DoSomething(); else DoOtherthing();} 循环2:转载 2017-04-10 18:12:33 · 3273 阅读 · 0 评论 -
LDR/STR指令学习
LDR/STR指令学习标签: processingtablebyte存储c2010-12-04 17:35 18949人阅读 评论(2) 收藏 举报版权声明:本文为博主原创文章,未经博主允许不得转载。S3C2440A datasheet上关于这两条指令的说明如下: SINGLE DATA TRANSFER (LDR, STR), The single转载 2017-03-21 09:05:41 · 351 阅读 · 0 评论 -
const的位置与区别
const的位置与区别标签: c2012-07-30 09:20 5477人阅读 评论(0) 收藏 举报 分类:C&C++(15) 一个比较经典的问题——问以下两种声明的区别:1) const char * p2) char * const p 这里的 const 关键字是用于修饰常量,书上说 const 将修饰离它最近的对象转载 2017-03-20 21:54:02 · 217 阅读 · 0 评论 -
大端模式和小端模式
大端模式和小端模式标签: 存储网络编程编译器ibm2012-07-06 16:33 44384人阅读 评论(9) 收藏 举报 分类:面试珠玑(84) 版权声明:本文为博主原创文章,未经博主允许不得转载。在 各种计算机体系结构中,对于字节、字等的存储机制有所不同,因而引发了计算机 通信领 域中一个很重要的问题,即通信双方交流的信息单转载 2017-03-19 18:47:29 · 279 阅读 · 0 评论 -
C语言中逗号运算符怎么用?
逗号运算符( , )是C语言运算符中优先级最低的一种运算符,结合顺序是从左至右,用来顺序求值(最后一个逗号后面表达式的值作为整个表达式的值)。下面举例说明逗号运算符的使用方法:int a=3, b=5, c;c = a>b, a+b; // 运行后c值为0,因为逗号运算符的优先级低于赋值运算符,所以先将a>b的结果(为0)赋值给c,之后运算a+b(结果不保存),所以c=原创 2017-02-27 14:41:19 · 24720 阅读 · 3 评论 -
SPI协议
说明.文章摘自:SPI协议及其工作原理浅析 http://bbs.chinaunix.NET/thread-1916003-1-1.html一、概述. SPI, Serial Perripheral Interface, 串行外围设备接口, 是 Motorola 公司推出的一种同步串行接口技术. SPI 总线在物理上是通过接在外围设备微控制器(PICmicro) 上面的微处转载 2017-07-27 10:50:02 · 305 阅读 · 0 评论