嵌入式Linux入门12:编程规范

作为一名软件工程师,日常与代码打交道,免不了接触到编程规范。而编程规范,可谓是各式各样,不同系统有不同风格,不同公司有不同风格。就笔者经历而言,在学生年代学习单片机编程时已经开始建立自己的“编程规范”。总的来说,笔者认为《高质量C、C++编程指南》、《Google C++ 编码规范》非常好,有指导意义。工作多年,接触了多种风格,并能自由切换。但还有一些原则性的条例,是自己一直坚持的。

阅读全文>>

嵌入式Linux入门7:kernel移植

kernel(内核)的移植在开始时给人的感觉是高大上,内容复杂,工作量大,技术难度高。后来发现内核的移植不过是改改参数,改改寄存器而已。其实,这是因为工作性质决定的。如linus、Alan Cox这样的一、二号功臣,我们无法望其项背。而芯片厂家的大门,也比较难进入,于是,很多人只是接近内核的边缘,做些修补的工作。——而这些人,占的比例很大,笔者就是其中一员。但即使如此,也有很多东西值得学习。

阅读全文>>

嵌入式Linux入门6:u-boot移植

嵌入式Linux常见的bootloader是u-boot,而X86领域中一般称为BIOS。u-boot的学习没有捷径,最好是在有ARM开发板情况下进行研究,通过打印信息的方法跟踪其流程。但是,看懂u-boot代码需要电路基本知识、芯片手册知识等等。——这些知识,同样适用于内核驱动的开发。

阅读全文>>

Python实现阳历转农历功能

实然心血来潮,决定研究一下阳历转换农历的算法,但网上几乎都是几种文章(或其演绎版本),笔者看了看,好像能得到正常结果,但没深入理解算法。为了练手Python,决定自己实现。中国的农历十分复杂,涉及面也广,需要天文台计算确定,本文干脆通通舍弃这些知识,只需要确保程序运行结果与参考日历一致就行了。

阅读全文>>

使用Python实现GBK转unicode码查询表

接触python有一段时间了,但没有专门学习基础知识,写代码时总是到网上找资料。不过,相信经过练习可以慢慢积累。本文拿以前写的小程序练手。参见文章《GBK转unicode码查询表的改进》。

阅读全文>>