俗话说:工欲善其事,先必利其器。 在对嵌入式进行调试之前,必须要生成调试器。经典地,Linux平台下的调试器为gdb。 本文仅讲述如何生成调试器,不涉及其中的论理——要找理论,找老师或者课本。
Linux平台静态库、动态库的一些笔记
李迟按:本文首先在csdn博客上发表,重发于此。那时候很想对库有深一层的认识。并且知道了《程序员的自我修养--链接、装载与库》这本书。这本书如今已经看过一次了,收获不少,但仍需要再次阅读。
u-boot移植随笔(8):EEPROM移植及测试
EEPROM说简单也简单,说难自己也捣鼓好几天。开发板上的EEPROM是AT24C08,大小1024个字节,使用I2C接口。——严重注意,EEPROM是指设备,而I2C是指接口,两者有着很密切的关系,但不可混淆它们,这点必须注意。
u-boot移植随笔(6):u-boot的内存分布图
花了两天时间来专门研究u-boot的内存分布,这个图网上已经有了,但只是大致图形,没有详细、深入解析。所以自己就专门画了图,添加一些东西。此外,还专门测试了一下u-boot下全局变量、未初始化变量等等的地址分布,也画了一张图。不过好像跟linux下进程的内存分布不太一致,估计是u-boot自己管理内存的——很明显,此时linux还不知道在哪里呢。但是,这些都不妨碍我们学习一些底层的东西。
u-boot移植随笔(4):使用svn进行版本控制
当年做毕业设计时,一时想不开,竟然使用cvs对写的代码进行版本控制,——当研究有一点心得时,只能跟一两个人讨论,这不能不说是我的悲哀。这几天u-boot没搞什么,都是在研究源代码,已经有一些心得了,但不好用语言表达出来。有些代码的妙处,只能意会,不能言传。
u-boot移植随笔(3):u-boot shell与ASCII码
u-boot移植随笔:u-boot shell与ASCII码 前几天让u-boot的shell更接近“shell”,发现可以使用Ctrl-p等等来控制,心里总在想它们是怎么实现的,怎么能读取到我按下Ctrl-p的呢?今天又看了u-boot的代码,找了好久,蓦然回首,原来是在./common下面的main.c中,——我就说呢,在SI中看这个文件时候,没发现旁边下拉条那么短,聪明人一看就知道这里面有不少东西!唉,一时没注意。
u-boot移植随笔(2):自定义u-boot命令点灯
前几天一不小心在CSDN论坛上发帖散分,同时许诺完成点灯就结账,经过努力,终于可以在u-boot的shell中输入自定义的命令来点灯了。下面简单讲一下,但不想深入讲解原理。
u-boot移植随笔(1):让u-boot shell支持tab、命令历史
前两天一直在想一个问题,u-boot的shell怎么不支持命令自动补齐,命令历史呢?由于受linux的shell影响,只要其它的“shell”有点什么不好的,一试就能感觉出来,所以要设置回那些基本功能。
u-boot移植随笔(0):System.map文件格式
背景:正在努力看u-boot代码,已经研究了两三天,内容太多,一时难理清头绪。不过有一定的linux基础,也懂点gnu扩展,elf格式,连接器还没有深入研究。Linux编译内核后会生成System.map,u-boot编译后也生成System.map——还有u-boot.map,后者比前者多一些内容。
我的驱动Makefile模板
网上有好多关于驱动的Makefile怎么写,驱动程序怎么运行,为什么驱动会没有main等等问题的问题的问题。下面我也给出我的驱动Makefile模板,这些东东都是在书籍和人家的研究成果上改进而来的,至于如何使用、怎么修改成自己的,大家就随意好了。
嵌入式之行(9):我的编程习惯与风格
说明:1、编程风格因人而异,每个人都有自己的风格,因此,争论谁谁的风格,谁谁的习惯,等等问题是没有意义,也浪费时间。此处所讲的风格,绝对是个人的风格,不具有代表性,也不想将这些风格强加于人。2、本文的风格只是在笔者学习过程中看书积累下来的,所以行文比较随意,不像大公司的编程规范手册那么规范。
嵌入式之行(8):Linux下视频采集及其显示
说明:1、本文所提及的摄像头不是zc0301p,使用的API不是V4L,显示所使用的上位机不是QT,特此说明。2、UVC只是一个驱动,如果它能成功驱动摄像头,会在/dev目录下出现video(或video0、video1等等)。这样,就可以使用Linux提供(准确说不是Linux提供,具体的百度吧)的一套API,即V4L2来访问摄像头了。“使用”是指我们写的采集数据的程序,而不是指“摄像头驱动程序”。——驱动程序不是那么简单就能写出来的。