- 博客(18)
- 资源 (8)
- 收藏
- 关注
转载 KMP算法
最近在看数据结构与算法,弄了两天的KMP算法,感觉这个算法是一个锻炼用人脑模拟CPU机械执行的一个非常好的例子,我个人觉得理解它对我们写程序的思维是一个很好的锻炼。当任给你一个字符串(长度在可控范围里),你能心中没有任何不解或疑惑地去在大脑中按程序的规则去求出next[]值,去完成一个字符串的匹配,那么恭喜你,你对它已有了深刻的了解,你没有必要浪费时间看这篇入门级的文章。下面我们一起向着这个目标前
2012-08-16 17:04:30 3284 1
转载 关于链表笔试题的一些收集
1.已知链表的头结点head,写一个函数把这个链表逆序[cpp] view plaincopyvoid List::reverse() { list_node * p = head; list_node * q = p->next; list_node * r = NUL
2012-06-06 17:06:05 1392 1
原创 C语言--树的基本操作
#include#include#include#include#define DATATYPE int typedef struct _tree{DATATYPE nodecontent;struct _tree *leftchild;struct _tree *rightchild;}TREE;typedef TRE
2012-05-30 14:35:40 2366 1
原创 uboot搞完了,发个总结
耗时2个星期,uboot的代码终于看完了,,他的结构比较复杂,最重要的是要搞清楚层次,有条线移植贯穿下去才不会被搞得晕头转向哦 ,给你们看一下我的uboot学习线路,start.s-----start_armboot()------main_loop()--------do_bootm()------do_bootm_linux() 1,start.s主要完成的是CPU的基本设置,比如
2011-11-28 16:54:21 2823 2
转载 main_loop()分析
main_loop()函数做的都是与具体平台无关的工作,主要包括初始化启动次数限制机制、设置软件版本号、打印启动信息、解析命令等。(1)设置启动次数有关参数。在进入main_loop()函数后,首先是根据配置加载已经保留的启动次数,并且根据配置判断是否超过启动次数。代码如下: 295 void main_loop (void) 296 { 297 #ifndef CFG_H
2011-11-28 10:52:44 2918
转载 gd_t和bd_t
gd_t和bd_t是u-boot中两个重要的数据结构,在初始化操作很多都要靠这两个数据结构来保存或传递.分别定义在./include/asm/global_data.h和./include/asm/u_boot.h1.gd_t: global data数据结构定义,位于文件 include/asm-arm/global_data.h。其成员主要是一些全局的系统初始化参数。需要用到时用宏定义
2011-11-25 14:00:12 3154
转载 do_bootm 分析
<!----> ChinaUnix.net首页 | 论坛 | 博客 |Linux | 人才 | 培训 | 精华 | Wiki |读书 |资料 | 手册 | 下载 | 搜索
2011-11-23 16:21:20 5027
转载 uboot命令模式的实现
uboot正常启动后,会调用main_loop(void)函数,进入main_loop()之后,如果在规定的时间(CONFIG_BOOTDELAY)内,没有检查到任何按键事件的发生,就会去加载OS,并启动系统,比如把linux内核压缩镜像从nand flash中读到sdram ,然后执行它。 如果在CONFIG_BOOTDELAY时间内,用户按下键盘上的任意一个按键,uboot就会进入
2011-11-21 10:29:33 1369
原创 ADS---》linux
JUMPADDR => JUMPADDR: -- 符号定义加:号INCLUDE => .INCLUDEEQU => .equTCLK2 EQU PB25 => .equ TCLK2, PB25TCLK2 EQU PB25 => .equ TCLK2, PB25DCD => .longIF :DEF: => #if define
2011-11-03 14:19:14 795
原创 在Red Hat Enterprise Linux 5中安装交叉编译工具arm-linux-gcc-4.3.2.tgz
1.将 arm-linux-gcc 的压缩包解压到tmp目录下2.将arm-linux-gcc-4.3.2.tgz解压到根目录下,使用如下命令: [root@localhost ~]# tar xvzf arm-linux-gcc-4.3.2.tgz -C / (注意大C与/间有一个空格)3.执行命令:vi/etc/profile 在path murge的语句断后添加
2011-11-03 11:54:40 680
转载 s3c6410---外部中断---key (基于OK6410)
先说一下外部中断:顾名思义,由s3c6410外部触发的中断就是外部中断,由s3c6410内部触发的是内部中断。但是具体到咱们的板子上,到底哪些是外部中断,哪些是内部中断呢?可以这样概括,除了INT_EINT0---INT_EINT4之外的都是内部中断。像watch dog就是内部中断,像key,wm9717触发的就是外部中断。 先说下外部中断从外设到cpu的具体流程:对
2011-11-01 17:06:32 3170 3
原创 ARM中C和汇编混合编程及示例
C语言中static关键字的常见用法及举例在嵌入式系统开发中,目前使用的主要编程语言是C和汇编,C++已经有相应的编译器,但是现在使用还是比较少的。在稍大规模的嵌入式软件中,例如含有OS,大部分的代码都是用C编写的,主要是因为C语言的结构比较好,便于人的理解,而且有大量的支持库。尽管如此,很多地方还是要用到汇编语言,例如开机时硬件系统的初始化,包括CPU状态的设定,中断的使
2011-10-31 09:42:12 567
转载 arm中ads实现c和汇编混合编译的方法
在嵌入式系统开发中,目前使用的主要编程语言是C 和汇编,虽然C++已经有相应的编译器,但是现在使用还是比较少的。 在稍大规模的嵌入式程序设计中,大部分的代码都是用C来编写的,主要是因为C语言具有较强的结构性,便于人的理解,并且具有大量的库支持。但对于一写硬件上的操作,很多地方还是要用到汇编语言,例如硬件系统的初始化中的CPU 状态的设定,中断的使能,主频的设定,RAM控制参数等。另外在一
2011-10-27 15:58:41 3400
转载 SD卡启动真相
前章我们也大致分析了SD卡的启动过程,在具体进行问题的定位及解决的过程中,发现还是有很多不明确的地方,网上的文章也多是人云亦云让我们来一步一步搞清楚S3C6410 SD卡启动的步骤及过程(我这里的开发板为OK6410,256M+1G的配置,SD卡为2G,MMC)一、开发板跳线,从SD卡启动view plain查看《OK6410开发板LINUX2.6用户手
2011-10-26 20:57:03 6690 1
转载 U-Boot
U-Boot提供了一个go命令,可以用来启动操作系统的内核或者其他应用程序。当U-Boot还没有实现网络功能时,常常需要调试,而每次都用JTAG把u-boot.bin烧写到Flash是一件费时费力的事情,因此调试的时候最好让U-Boot从SDRAM里启动。 如果不出差错,一般情况下,只要U-Boot跑起来了,它的loadb命令就是可用的。因此我们可以通过串口下载需要调试的u-boo
2011-10-20 14:05:42 771
转载 再谈U-Boot从SDRAM启动
再谈U-Boot从SDRAM启动 (2010-06-17 22:22) 转载分类: u-boot相关 最近帮朋友搞一个2440的板子,到上次搞linux和U-Boot已经一年多了,很多东西不用确实是忘记的比较快,呵呵!朋友给我的板子上已经烧录好了一个U-Boot,但是自己编译了一下Linux内核,用这个烧录好的loader始终跑不起来kernel,没办法只好自己尝试着重
2011-10-20 14:04:13 1162
转载 6410的启动过程
一直想在 6410上写个启动代码。由于板子上没有nor flash。所以只能通过SD卡启动或nand flash启动,在这里要注意,我们虽然说是从sd或nand启动,实际上在他之前,还有一段代码固化到了芯片的内部rom(irom)中了,这段代码是先运行的,这段代码会将SD卡或nand flash上程序加载到内部ram中(Stepping Stone(8kb)),然后从那里继续运行。
2011-10-20 12:26:17 747
C标准库完美清晰英文版下载(完整版)
2011-12-08
国企,外企,私企,全面分析
2011-11-28
uboot代码分析全纪录
2011-11-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人