2009年9月5日

在bootloader里驱动DM9000

摘要: 原以为很简单的事,自从调通简单的bootloader后,已经实现跳转到c程序,我想控制起来应该就简单多了哪知道,费了4 5天了就是认不到DM9000,从怀疑地址不是0x20000300, 怀疑时钟频率不对,怀疑memory control设置的有问题。哪想到最后却是因为c语言里 u16* 和 u8* 对寄存器赋值的区别,造成没有读到值,其实参数都设对了,不过折腾也好,倒是把时钟频率的设置好好学了一遍。接下来就来说说我们知道每个CPU都需要一个时钟输入,而主板上一般就只有一个固定频率的晶振提供时钟,比如12MHz,而对于CPU需要的200M,400Mhz,就需要针对原始频率不断分频来得到,而相对 阅读全文

posted @ 2009-09-05 23:15 GaryGaryGary 阅读(143) 评论(0) 推荐(0)

2009年8月29日

跟着vivi学bootloader

摘要: 话说上回通过LFS把linux的结构学习了一下后,探究出嵌入式的几大组成部分,bootloader,linux内核,根文件系统得,就从bootloader开始,从cpu加电的那一刻开始拿出以前买的s3c2440的开发板,经过一番搜索,得知uboot和vivi是这个平台下比较流行的两个bootloader,鉴于vivi比较简单,就从vivi入手,找出head.S即bootloader的入口,逐行分析,从最简单的点灯,到输出UART,到拷贝nand到ram,到跳转到c程序,其间通过《S3C2410完全开发教程》的帮助,基本调通弄明白了,大家有不明白的可以多搜索这篇文章。我就讲讲几个在调试过程中困扰 阅读全文

posted @ 2009-08-29 21:58 GaryGaryGary 阅读(142) 评论(0) 推荐(0)

2009年8月25日

今天成功运行完LFS

摘要: 自从上篇说到要从LFS开始学起后,最近几天,只要得空就慢慢编译我的LFS,别说,即使是对着敲命令,敲完直到自己编译的系统boot起来,还突然有一种豁然开然的感觉,当然目前通过LFS也仅能对linux进行表面的认识,但是总比起之前敲敲ls好多了。做的过程中发现这篇手把手教程还是很有用的,对着敲,可以保证不出错。至于为什么这么敲的解释可以看LFS官方站点的文章,这样两篇文章对着做,挺高效的。http://www.linuxsir.org/bbs/thread322894.html虽然最后,boot起来是有一行 root=/dev/sdb1 老是提示 该device string无法找到,还没解决, 阅读全文

posted @ 2009-08-25 20:54 GaryGaryGary 阅读(162) 评论(0) 推荐(0)

2009年8月17日

最近在做嵌入式

摘要: 已经做了大半年的嵌入式开发,其实严格上来说也不能叫嵌入式开发,无非就是将现有的程序在各种嵌入式平台上的移植,因为我们采用了c语言,这种绝大多数平台都支持的语言,并且尽可能地少用到系统调用,这样就极大地减少了移植的复杂性,现在基本上移植到一个新平台,感觉1-2周是可以搞定的,因为主要与系统的相关的只剩下文件操作,socket操作,内存操作等简单的一些调用。回顾这几个月来,接触了linux,ucos,ecos,wince等嵌入式常用的操作系统,当然也有很多在这几个系统上的改造变种,linux还是主流,但是类ucos的这些操作系统以其短小精干在家电领域还是占了很大版图,毕竟他们一直在追求costdo 阅读全文

posted @ 2009-08-17 22:05 GaryGaryGary 阅读(123) 评论(0) 推荐(0)

2009年6月1日

[转]Makefile概述

摘要: 0 Makefile概述 -------------------------------------------------------------------------------- 什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写makefile了,会不会写makefile,从一个侧... 阅读全文

posted @ 2009-06-01 14:51 GaryGaryGary 阅读(152) 评论(0) 推荐(0)

2009年1月20日

Windows 和 Linux时间函数

摘要: 做个小记号,前天昨天都在尝试编译MPlayer,很遗憾还没成功,我想让我小板子跑起视频的愿望还没实现,今天用到的时间函数先做个记录吧Windows版本,获取当前毫秒数,以及如何得到当前年月日时间等,主要用到_ftime, localtime函数,还有一个time()函数则只能得到秒数,没有毫秒 time_t now; struct tm mylocaltime; struct _timeb timebuffer; struct tm * newtime; unsigned short millitm1; _ftime( &timebuffer); now = timebuffer.ti 阅读全文

posted @ 2009-01-20 13:05 GaryGaryGary 阅读(183) 评论(0) 推荐(0)

2009年1月14日

编译libtorrent小记

摘要: 因为想用前天买的小板跑个BT下载电影,就想到装个BT软件,网上看好象libtorrent比较简单,就先来他吧先下了libtorrent下来, 因为libtorrent依赖于libsigc++2.0.x,所以开始下了一个libsigc++2.0.1得先编译sigc++2.0.1,碰到一个类型重定义的错误,usr/include/sigc++-2.0/sigc++/signal.h:1675: error: declaration of 'typedef struct sigc::slot_list<sigc::slot<T_return, sigc::nil, sigc::n 阅读全文

posted @ 2009-01-14 15:11 GaryGaryGary 阅读(380) 评论(0) 推荐(0)

2009年1月13日

ARM开发板初接触

摘要: 昨天晚上终于收到我的第一快ARM开发板了,激动的不行,一拿到就插电源,开机,哇,系统都预烧好的,一起来,液晶屏都有反应的,然后就启动到一个图形界面,随便点了一会,没啥好玩的,就在琢磨这linux命令行界面呢,传说中的烧录flash呢,bootloader呢。冷静冷静。现在我应该拿一个串口线连接到ARM开发板,可是这么简单的一句话至少花了我2个小时。先是我的笔记本没有9针串口,只有一个25针串口兼并口,我前两天特意先买了USB转串口和25针转9针的接头。我想这25针是自带的,应该比较稳定吧,而且前两天用USB转串口烧51老是没反应,对我有点打击,所以先先试这个机器自带的,结果设了半天,这超级终. 阅读全文

posted @ 2009-01-13 10:52 GaryGaryGary 阅读(213) 评论(0) 推荐(0)

2009年1月9日

linux telnet,SSH 中文 乱码解决

摘要: 使用SecreCRT远程访问中文版Linux主机时,对于中文显示会有乱码。设置SecureCRT设置:选项(Options)->会话选项(Session Options)->外观(Appearance)->字符(Character),选择UTF-8。我的系统是 LANG="en_US.UTF-8",改完SecureCRT设置重新登录即可.通常就可以了,因为Linux默认LANG就是UTF-8。如果不是,则设置一下/etc/sysconfig/i18n,将LANG设置支持UTF-8。 [root@localhost sysconfig]# more ... 阅读全文

posted @ 2009-01-09 13:40 GaryGaryGary 阅读(404) 评论(0) 推荐(0)

2008年12月15日

什么是声波

摘要: 前两天部门培训,听到时域到频域的变换,可以节省空间,不知所以然,不明白原理,追着同事问,说到了傅立叶变换,还是晕,到底是什么呢。会后就开始google起来,先是找到了傅立叶变换,他的理论基础就是任何曲线或者说函数都可以由无限个正弦函数叠加组成。什么意思呢,就是说可以把用随着时间轴变化的声音波行转化为无数个不同频率的正弦波的波形叠加。即假设这段声音的波形函数是y=f(t) ,t代表时间,那么他就可以转化为 Y= a*sin(f)+a1*sin(f1)+...f,f1代表不同的频率,a,a1代表振幅,当然还有相位什么的先不列出来了。这样你可以想象,假设声波是一个正弦波的话,在时间域下,比如1秒取. 阅读全文

posted @ 2008-12-15 22:01 GaryGaryGary 阅读(700) 评论(0) 推荐(0)

导航