摘要: 编译器内置宏: 先介绍几个编译器内置的宏定义,这些宏定义不仅可以帮助我们完成跨平台的源码编写,灵活使用也可以巧妙地帮我们输出非常有用的调试信息。 ANSI C标准中有几个标准预定义宏(也是常用的): __LINE__:在源代码中插入当前源代码行号; __FILE__:在源文件中插入当前源文件名; _ 阅读全文
posted @ 2015-09-05 18:02 yuxi_o 阅读(677) 评论(0) 推荐(0) 编辑
摘要: __VA_ARGS__ 是一个可变参数的宏,很少人知道这个宏,这个可变参数的宏是新的C99规范中新增的,目前似乎只有gcc支持(VC6.0的编译器不支持)。实现思想就是宏定义中参数列表的最后一个参数为省略号(也就是三个点)。这样预定义宏_ _VA_ARGS_ _就可以被用在替换部分中,替换省略号所代... 阅读全文
posted @ 2015-09-05 17:52 yuxi_o 阅读(451) 评论(0) 推荐(0) 编辑
摘要: uboot的debug定义在include/common.h中#ifdef DEBUG#define debug(fmt, args...) printf(fmt, ##args)#define debugX(level, fmt, args...) if(DEBUG>=level) printf(... 阅读全文
posted @ 2015-09-05 17:37 yuxi_o 阅读(977) 评论(0) 推荐(0) 编辑
摘要: Env在u-boot中通常有两种存在方式,在永久性存储介质中(flash、NVRAM等),在SDRAM中。可配置不适用env的永久存储方式,但不常用。U-boot在启动时会将存储在永久性存储介质中的env重新定位到RAM中,这样可以快速访问,同时可以通过saveenv将RAM保存到永久性存储介质中。... 阅读全文
posted @ 2015-09-04 18:45 yuxi_o 阅读(1468) 评论(0) 推荐(0) 编辑
摘要: 1. 一般用法: 使用#把宏参数变成一个字符串,用##把两个宏参数贴合在一起。 2. 当宏参数是另一个宏的时候 需要注意的是凡宏定义里有‘#’或‘##’的地方宏参数是不会展开的。 转自:http://www.linuxidc.com/Linux/2014-06/102925.htm 有一道经典的C语 阅读全文
posted @ 2015-08-31 21:37 yuxi_o 阅读(464) 评论(0) 推荐(0) 编辑
摘要: 嵌入式设备中触摸屏使用非常广泛,但触摸屏的坐标和屏的坐标是不对称的,需要校准。校准广泛使用的是开源的tslib。 Tslib是一个开源的程序,能够为触摸屏驱动获得的采样提供诸如滤波、去抖、校准等功能,通常作为触摸屏驱动的适配层,为上层的应用提供了一个统一的接口。 1.Tslib工具交叉编译与安装 编 阅读全文
posted @ 2015-08-27 16:44 yuxi_o 阅读(917) 评论(0) 推荐(0) 编辑
摘要: 架构师之路,季度精选40篇 csdn 架构师之路_ 架构师之路2016年精选66篇 架构师之路2017上半年精选40篇 【通用设计与方法论】 《分布式ID生成器》2W+ 《工作线程数究竟设置为多少合适》 《消息如何在网络上安全传输》 《用车业务,里程如何精准计算》 《URI设计原则》 【线上实战】 阅读全文
posted @ 2015-08-25 14:30 yuxi_o 阅读(345) 评论(0) 推荐(0) 编辑
摘要: System.map是一个特定内核的内核符号表。它是你当前运行的内核的System.map的链接。内核符号表是怎么创建的呢? System.map是由“nm vmlinux”产生并且不相关的符号被滤出。对于本文中的例子,编译内核时,System.map创建在/usr/src/linux-2.4/Sy... 阅读全文
posted @ 2015-08-24 16:57 yuxi_o 阅读(797) 评论(0) 推荐(0) 编辑
摘要: 参考gcc的reference:弱符号:若两个或两个以上全局符号(函数或变量名)名字一样,而其中之一声明为weak symbol(弱符号),则这些全局符号不会引发重定义错误。链接器会忽略弱符号,去使用普通的全局符号来解析所有对这些符号的引用,但当普通的全局符号不可用时,链接器会使用弱符号。当有函数或... 阅读全文
posted @ 2015-08-24 16:26 yuxi_o 阅读(2177) 评论(0) 推荐(0) 编辑
摘要: Uboot源码分析 源码以u-boot-1.3.4为基准,主芯片采用at91sam9260,主要介绍uboot执行流程。 uboot官网:http://www.denx.de/wiki/U-Boot/WebHome。 一.工具 1. 主要采用vi查看源码,用到最多命令为grep。 grep –r – 阅读全文
posted @ 2015-08-20 16:06 yuxi_o 阅读(1276) 评论(0) 推荐(0) 编辑