08 2011 档案
摘要:一、GPIO基本知识GPIO的主要寄存器有 3个 DR GDIR PSR还有ICR1,ICR2,IMR,ISR 是GPIO的中断用寄存器,因为我目前没有使用,就不多说了。DR :数据读写寄存器,通过该寄存器控制对应GPIO的高低电平,或者读入GPIO的电平状态。GDIR:通知GPIO是通知于输出模式还是输入模式,0 GPIO is configured as input. 对应的位设置为0 则为输入1 GPIO is configured as output. 对应的位设置为1 则为输出如果对应的引脚设置为GPIO模式当GDIR设置为输入时,读DR寄存器,则返回引脚的电平状态当GDIR设置为输
阅读全文
摘要:由汇编代码跳转到C代码,假定当前目录为uboot的根目录。C代码首先会执行lib_arm/board.c中的start_armboot函数。在此函数中执行一些初始化的过程,当执行到stdio_init ()函数时将跳转到common/stdio.c中。执行到drv_lcd_init ()函数时跳转带common/lcd.c中,lcd.c实现了一些lcd的通用方法。接着,此函数执行到lcd_enable ()函数,然后跳转到board/freescale/mx51_bbg/mx51_bbg.c中的lcd_enable ()中进行lcd的GPIO初始化配置。
阅读全文
摘要:每个Makefile中都应该写一个清空目标文件(.o和执行文件)的规则,这不仅便于重编译,也很利于保持文件的清洁。一般的风格都是:1 clean:2 rm edit $(objects)clean从来都是放在文件的最后,更为稳健的做法是:1 .PHONY : clean2 clean :3 -rm edit $(objects)//rm命令前面加了一个小减号的意思就是,也许某些文件出现问题,但不要管,继续做后面的事。
阅读全文
摘要:接第一篇,我们可以在makefile中声明变量来替代重复的内容。比如:objects = main.o kbd.o command.o display.o \insert.o search.o files.o utils.o我们就可以很方便地在我们的makefile中以“$(objects)”的方式来使用这个变量了,于是我们的改良版makefile就变成下面这个样子:1 objects = main.o kbd.o command.o display.o \2 insert.o search.o files.o utils.o3 edit : $(objects)4 cc -o edit $(
阅读全文
摘要:Makefile的一般格式如下:target ... : prerequisites ...command其中target为目标文件,可以是Objectfile或者可执行文件,还可以是一个label。prerequisite为生成target所需的文件。command为make所执行的命令。插入一段示例代码: 1 edit : main.o kbd.o command.o display.o \ 2 insert.o search.o files.o utils.o 3 cc -o edit main.o kbd.o command.o display.o \ 4 insert.o searc
阅读全文
摘要:如何更改Uboot的启动logo:1、进入tools目录,在该目录下你会看到一个叫logos的目录,里面存的是logo图标,可以自己添加logo图标到该目录,注意需256色的。2、打开tools目录下的Makefile文件,在第44行至48行间,有如下一段代码:ifeq ($(LOGO_BMP),)LOGO_BMP= logos/denx.bmpendififeq ($(VENDOR),denx)LOGO_BMP= logos/denx.bmp3、"denx.bmp"即为logo图标。你可以用你自己喜欢的图标来代替他,,4、在common目录下,打开lcd.c文件,可以改变
阅读全文