- 博客(37)
- 资源 (18)
- 收藏
- 关注
原创 关于STM32的 LCD 和 RTC
关于LCD:LCD用的模块是 ST7565P驱动的lcd是 128*64点阵有个寄存器的区域是存放数据, 分别对应了lcd上的 128*64点阵. ,通讯方式是SPI如果需要横屏, 镜像 这些功能, 可以设置读取寄存器的方式, 比如要上下镜像, 那读数据就会从最后一个地址开始读,那么显示的东西就会反过来了. 想起了2410开发板上关于TFT显示驱动里面 是在内存区中设定了一个指定的内存区域作为显示缓冲, 驱动程序的功能就是按照一定频率去读这个缓冲, 然后吧数据传送给tft driver. 作
2010-10-08 16:22:00 2413 1
原创 找了份工作, 会涉及到STM32芯片. 把最近学习的东西跟大家分享一下.
<br />用的是DX32 大虾的开发板. 功能比较全, 仿真器也不贵, 是被和谐的版本.<br /> <br />最近仔细看了一下文件系统, 彻底弄明白了以前在移植busybox对文件系统还是很模糊的概念.<br /> <br />简单讲一下心得<br /> <br />1 文件系统<br />如果要与SD卡 U盘这些介质打交道,那就一定要弄明白文件系统的概念. 说白了 文件系统就是先格式化磁盘, 然后建立磁盘分区表, 之后的任务就是建立每个文件的存储路径, 起始地址和结束地址,方便程序将某个文件
2010-10-06 10:50:00 3298
原创 最近更新缓慢.
<br />手上有调试好的led驱动, key驱动(中断), <br />正在调试的有触摸屏驱动. 以及正在研究lcd驱动 呵呵 跨度很大, <br />现在重新返回led驱动, 要加上创建设备文件节点的代码, 不想insmod后再去手工mknod,这个也是必须. 所以近期都没有更新.<br /> <br />而且目前公司的新项目明天开始动工了. 估计学习嵌入式的进度会再缓慢一点, 等led驱动(含创建设备节点)的代码调试ok,就会放上来.<br /> <br />新项目用瑞萨的单片机..呵呵没用过
2010-06-08 18:08:00 322
翻译 linux驱动之--led驱动
练手, 第一个字符驱动.用模块加载方法华清远见的代码拿来改的. 编译过程发现很多错误.最后发现 这本书带的驱动代码都是基于linux2.4的...目前我用的linux2.6, 代码部分需要做修改. 我的板子是 友善之臂的 2410. vmware+ubuntu nfs交叉编译首先linux2.6内核编译里面要打开loadable modules, 以及 u
2010-05-04 21:50:00 488
原创 linux驱动之--linux2.6.14.1 移植进去8900网卡驱动
为了搭建nfs系统,...所以 必须在内核移植好网卡驱动. 我靠.照下面做,一次能成功.我的主板是友善之臂 2410. 环境是 vmware+ubuntu LINUX2.6.14下CS8900的移植(Fs2410) 1. (文件在我的下载版有)拷贝文件cs8900.c cs8900.h到 linux2.6.14.1/drivers/net进入目录cs8900
2010-04-27 14:21:00 530
原创 linux驱动之--NFS交叉编译环境搭建
Vmware改桥接设置.我的是ubuntu +vmware, 所以第一件事情要改网络连接成为 桥接bridged.然后以root用户进入ubuntu,这样才可以修改IP地址和DNS2.启动UBUNTU, 设置静态IP地址 sudo ifconfig eth0 192.168.2.20 netmask 255.255.255.0设置IP:打开/etc/network/interf
2010-04-25 18:03:00 948
原创 根文件系统制作 busybox移植
今天完成了busybox移植并且烧录上去, 下面放出我自己的笔记,欢迎指正心得如下:1 linux2.6.14打开nfs文件系统支持 就是对应cramfs文件系统. 所以暂时可以先不用给linux打yaffs文件系统补丁,以及用yaffs格式来做根文件系统. 1.下载最新的busybox1.9.2,并解压缩。下载busybox源代码:http://busybox.
2010-04-01 20:58:00 1530
原创 linux2.6移植
我照如下部分移植成功,引用部分后面讲过程中遇到的问题.linux 2.6.14内核的移植(基于gec2410开发板)2007年11月15日 星期四 11:08步骤如下:建立工作目录:mkdir /home/build_kernel1 下载linux内核源码从http://www.kernel.org/pub/linux/kernel/v2.6/linux2.6.
2010-04-01 09:56:00 518
原创 继续研究uboot-led篇
发现uboot启动的时候会点亮开发板上2个led.而且无论怎么改动都只亮其中2个led,几经试验. 发现led初始化:在/board/bs2410/bs2410.c里面有 gpio->GPBCON = 0x00155555; // 0x00044555; gpio->GPBUP = 0x000007FF;将0x00044555改成0x00155555(我的开发板是对应B口的 7,8
2010-03-28 11:22:00 1316
原创 uboot 1.1.6 移植8900网卡+tftp
u-boot本身有cs8900网卡驱动程式,所以需要修改的地方不多。由于数据通过总线传送,所以要注意地址空间的设置和总线的设置。1) 修改/include/configs/smdk2410.h文件:#define CONFIG_ETHADDR 08:00:3e:26:0a:5b#define CONFIG_IPADDR 192.168.1.18#define CONFIG_SE
2010-03-27 18:27:00 1589 1
原创 移植uboot 1.1.6 到友善之臂 sbc2410上.(支持NAND)
uboot1.1.6下载地址是http://downloads.sourceforge.net/u-boot/u-boot-1.1.6.tar.bz2 安装编译器:3.3.2环境的建立. (如果是移植uboot1.1.6 请使用3.3.2的版本编译器, 别怪我没提醒你.我试过2.95 3.4.1都不行.问题关于硬浮点和软浮点,各位可以自己搜索一下这个问题)1·.下载arm-lin
2010-03-24 20:55:00 1304
原创 二 移植8900网卡驱动到vivi上
putstr("Succeed memory mapping./r/n"); 用这个语句来跟踪系统执行进度.回到vivi第二阶段, 仔细看init_builtin_cmds()-> add_command() 按照load 这个指令的线去看 load flash vivi x 和 load flash vivi u 这两条指令的执行线路. 来分析将怎么做网卡移植. 有点难度. 看了一晚
2009-12-07 19:01:00 503
原创 一 原版vivi的移植 到2410
1 先修改vivi的makefile LINUX_INCLUDE_DIR -- 更改为交叉编译器的include文件夹LINUX_INCLUDE_DIR = /usr/local/arm/2.95.3/includeCROSS_COMPILE -- 交叉编译器的可执行文件的路径CROSS_COMPILE = /usr/local/arm/2.95.3/bin/a
2009-12-05 20:51:00 672
原创 计划赶不上变化,做一下计划
大概看完了vivi导读, 谢谢詹先生, 还有CalmArrow(lqm) 今天理一下思路, 后面进入试验阶段. 1 找个干净的vivi来, 移植, 然后jtag上去, 目标: 看到vivishell, 能执行vivi命令2 移植网卡8900上去,并且搞好tftp,能用tftp3 移植usb上去 并能用usb下载资料.
2009-12-05 20:33:00 560
转载 堆与栈的区别.
简单的说,使用char a[100] 这样是使用的栈(stack)中的空间,是在调用函数的时候自动分配的。而用malloc函数是从堆(heap)中分配的空间。栈中的空间会随着函数的使用结束而被自动释放掉,因此不用手动回收内存,而堆使用的是公用部分,不会随着函数使用结束而结束因此需要手动回收(释放)可能许多人对内存分配上的“栈 stack”和“堆 heap”还不是很明白。包括
2009-12-05 17:09:00 394
原创 bootloader导读.第二阶段
1 打印版本信息 ,(可要可不要,调试用)2 io口初始化3 建立页表和启动MMU · 第一阶段 软件准备 MMU在软件上的实现过程,实际上就是一个查表映射的过程。建立页表(translation table)是MMU功能的重要的一步。页表就是内存的一块区域,由一个个固定格式的entry组成。其中每个entry对应一个VA到PA的转换,每一项的长度是一个w
2009-11-24 08:06:00 664
原创 bootloader导读.第一阶段
从nandflash copy到 ram中 先看分区信息 vivi 0x00000000-0x00020000 0-128K param 0x00020000-0x0002f000 64K kernel 0x00030000-0x001f0000 1M+960K ro
2009-11-23 13:08:00 463
原创 bootloader导读.
今天搜索vivi的时候竟然发现现在vivi的源代码里面已经有了带usb驱动的, 以前可是保密源码的. 当时我就是因为vivi拿不到源码无法更改内核的分区所以放弃而转入u-boot的. 因为开发板给的linux2.4的系统, 而我想移植最新的2.6的linux. 所以1M空间是不够滴....必须改这部分代码. 学习环境依然是xp+vmware+linux2.4 虽
2009-11-21 20:11:00 473
原创 重新拿起嵌入式学习
虽然知道技术不值钱,但是创业还是要从技术开始. 难道, 我没钱, 我也没技术, 那我凭什么起家... 所以,鼓励自己, 重新拿起嵌入式. 书也有, 设备也有, 其实以前已经弄了很多, 窗户纸快捅破了. 还是坚持下去, 捅破吧.最近老婆有600的买书报销, 我也买了一部分书, 在书城仔细选书, 可选的嵌入式书真是少呀, 有时候要几本书对照来看, 平均每本书只有一部分对我有用.
2009-11-21 20:04:00 375
原创 停止写blog1个月.原因如下
接了一个项目,做了一个多月. 实际上就是抄sony D70的摄像头. 硬件已经做好了, 4个mcu分别控制红外遥控接收, Pan TILT马达转动, 和主控. 电路看起来简单,和清晰, 但是真正要做的工作有很多..其中也学到了很多东西, 自己亲自去调试 i2c总线, 模拟串口,串口通信, pwm驱动电机,实时时钟,和视频字符叠加, 呵呵, 有意思. 我的附件里面会留有这些
2008-12-09 15:32:00 410
原创 uboot1.1.4 移植成功
今天早上把昨天编译好的uboot.bin烧进去, 看串口 死活没反应.晕.害我没吃早餐. 找来原来的vivi烧进去, 看串口 正常. 说明是我的uboot有问题. 上网搜, 发现优龙的板子跟我的很像, 而且找到一个优龙的移植好的uboot.bin down下来烧进去看看.串口正常. 看来确定是我的uboot.bin有问题.再把昨天的3个参考贴找来仔细研究.
2008-10-09 19:46:00 883
原创 uboot1.1.4编译成功
tmd,现在终于编译成功.参考帖子 真是多谢http://blog.chinaunix.net/u2/78837/showart_1212612.html http://blog.chinaunix.net/u2/73461/showart.php?id=1079801 http://hi.baidu.com/serial_story/blog/item/af26884
2008-10-08 21:41:00 614
原创 u boot 移植 废材日记, 不要看了, 浪费时间, 上面有篇uboot 1.1.4移植才是正题
转自 http://blog.chinaunix.net/u2/78837/showart_1212612.html真是经典.我阅读后做了修剪,作为自己的笔记.大家可以看原文. 0 在工作目录下解压U-Boot。$tar zxvf u-boot.git.tar.gz1 进入U-Boot目录,修改Makefile$cd u-boot.git/$vi Makefil
2008-09-27 18:52:00 1764
原创 20080925 busybox and file system
1 download busybox2 edit the Makefile, arch & crosscomplile3 make menuconfig busybox setting--> build option-> [*]build busybox as astatic binary installation options-->[*] dont u
2008-09-26 08:39:00 449
原创 080923 linux2.6的移植 2.6.14
计划采用 yaffs文件系统.linux2.6.19 的内核开始提供了队yaffs文件系统的支持, 在这之前的版本没有, 需要给linux内核打补丁使支持yaffs2文件系统. 我的预计分区是: 启动开发板,进入vivi,对vivi进行分区操作 vivi>bon part 0 128k 192k 2240k 5312k:m 64704k 分区信息如下
2008-09-22 22:01:00 467
原创 080922 关于vivi中的分区
super 的文章中 提到vivi要更改 smdk.c文件中vivi 128Kparm 64kkernel 2M+832Kroot 29M 烧写完vivi后, bon part 0,192k,3M ,共分了三个区然后重新烧写vivi > part show (MTD) vivi 128K parm 64Kkernel 2M+83
2008-09-22 21:49:00 389
原创 计划,步骤.
1 移植linux2.6,并会装系统2 写驱动程序, 并且挂接驱动程序3 应用程序编写 在2,3步过程中继续熟练C语言.. 空余时间看C程序经典900例 我的开发板是 友善之臂的 2410V6, 希望同学们共同学习.
2008-09-22 21:46:00 312
原创 vivi 2 mem
vivi的 stage1 必须小于4Kstage1的作用就是初始化硬件, 以及把后面的代码copy到ram中.下面来谈mem control看datasheet第五部分。s3c2410比较特殊,支持1G的内存空间,分为8个bank,每个bank128MBytes,128MB×8=1GB。但是在这8个bank中,又有所不同,并且nand flash不对应任何bank,它是通过一组寄存器来
2008-03-29 16:33:00 482
原创 vivi 1 移植
vivi的移植vivi的结构: COPYING:GPL协议声明,Gnu General Public License,这里是version 2。如果要具体了解一下GPL协议,那么可以仔细读一下该文件。CVS: Control version system,一种版本控制的工具。使用cvs,可以很方便的进行版本的控制,节约大量的时间。不过该部分并不属于vivi核心软件架构。Docum
2008-03-28 11:39:00 524
原创 计划 2008 3 21 随时回来检讨一下, 看看自己完成了多少
昨天很老何谈了一下,发现原来自己现在学的,是皮毛 皮毛 皮毛, 要学的东西还有很多.很多.想了一下 做了一个计划 1 vivi: 现在看了大部分linux驱动程序的编写, 反过头再来看vivi发现有些东西能看懂了. bootloader无论是wince 还是linux都会用到. 所以要花时间把vivi搞透, 别看这么小小的东西, 其实五脏俱全.要学, 还是能有很多东西可以学的,
2008-03-28 08:30:00 345
原创 复习一下 nandflash启动流程
1 如果跳线是 从nandflash启动, cpu会自动copy nandflash的 前面4K到 sdram(stepingstone中). (是cpu自动!,不属于bootloader工作)2 cpu开始执行stepingstone的代码, 并且把nandflash 所有代码copy到sdram中, 3 cpu开始执行copy到sdram中的主函数.
2007-11-14 10:52:00 1134
原创 nand_read_ll 分析
病了几天, 自己也偷懒了.今天继续#define BUSY 1inline void wait_idle(void) { int i; while(!(NFSTAT & BUSY)) ; NFSTAR只有第一位有效, 0: flash busy 1: ready to use &:位与// 回忆一下while的用法, 很久没用忘了.while(1),则执行下面的语
2007-11-05 22:18:00 2582
原创 NAND FLASH (2 读写操作)
坏block 标示: create invalid block table 坏block标示在额外区域的 第六byte. 在坏block的第一或者第二page的第517byte(from512, 6th) 是non-FFh数据然后建立一个 table 来记录所有坏block扫描出坏block并标示以后就可以保证不对坏block进行读写.方法: 从block address
2007-11-02 09:05:00 1331
原创 NAND FLASH (1 .结构分析)
我这边用的是 K9F1208U0M SAMSUNG的芯片 64M *8bit 这款nandflash 总共512Mbit +额外的16Mbit结构分析: 512Mbit 分成 128K pages , 每页528个柱块. 其中额外的16个柱是NO.512-527.即528个8bit寄存器. 一个块(block)=32pages , so 一个芯片有4096个block其中每个pa
2007-11-02 08:27:00 1044
原创 检讨一下, 进度很慢 还是vivi
最近进度很慢, 工作忙了一点,现在开始逼自己每天晚上3小时,一定要每天进步一点点.head.s主体看的差不多了. 但是head.s里面有一些BL的部分子程序要另外阅读清楚,不能一知半解.最近学到基础的东西, 比如BLT, B是跳转 LT是条件, 关于条件的查询可以看规格书了解到 include中有两个 H文件是可以用到的. 都是包含2410字符. 看到nand_read_ll
2007-10-31 16:38:00 625
原创 努力学习vivi
学习嵌入式, 原来arm就是一个带操作系统的 单片机.正在努力学习bootloader, vivi是目前的主攻目标, 相信对驱动程序的编写和对arm9结构的熟悉会快点. 实际运用中学习嘛欢迎正在学习vivi的朋友交流.
2007-10-15 09:09:00 434
2410+uboot+nandflash移植
2010-04-01
linux2.6移植 2410
2010-04-01
24c64 读写 程序
2008-12-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人