- 博客(20)
- 资源 (3)
- 收藏
- 关注
原创 S3C2416 开机运行SD卡程序
本文主要参考http://topic.csdn.net/u/20100626/10/67035D81-CF05-41A3-AB0A-A66BF79666D2.html和http://blog.sina.com.cn/s/blog_4b5b79520100kp7c.html两篇文章。首先需要学习如何将应用程序打包进nk.bin文件中。大概步骤如下首先,假设你的应用程序为:Embest_Dra
2013-07-31 10:18:35 1951
转载 yaffs chunk was not erased
出现上面的情况主要是,估计睡眠/唤醒时没有保存NAND FLASH控制器的寄存器状态吧。 参考2440上给的代码更改2416上nanflsh驱动。在把休眠的2416通过外部中断唤醒后,运行其他命令会出现大量类似提示:**>> yaffs chunk 12352 was not erased **>> yaffs chunk 12353 was not erased **>> y
2013-07-31 10:18:04 1405
原创 2416 wince下闪灯程序
友坚的开发板wince6.0的BSP包驱动目录下有一个文件NLED,只需要做简单的修改就可以实现LED灯闪。首先将//#define NLED_SUPPORT FALSE改为#define NLED_SUPPORT 1 支持LED灯其次将 NLED_Thread函数中的//gLEDTimeout = INFINITE;//gLEDEvent = CreateEve
2013-07-31 10:17:04 726
原创 2416 wince 背光驱动
友坚开发4.3寸不支持背光控制,选用群创的7寸屏首先将友善之臂2440开发板中的wince6.0中Backlight整个目录拷贝到驱动目录下,更改驱动目录下的dir文件,将Backlight路径包含进去。然后更改bak_hw.cpp文件,主要是对IO口的配置进行修改。由于IO口的结构体变化了,需要将//static volatile IOPreg* v_pIOPRegs = 0;改
2013-07-31 10:16:34 879
转载 wince的 bootloader分析
S3C2450的整个Bootloader包括四个部分:1):Eboot.Whimory2):NBL1.IROM_SD3):NBL1.LSB4):NBL2实现功能:生成三个有用的文件:block0img.nb0,Eboot.nb0/Eboot.bin,以及IROM_SD_EBOOT.nb0。其中前两个文件用于烧到NAND的前几个block,用于初始化整个系统的环境,以及引导NK。
2013-07-31 10:15:42 992
原创 友坚2416开发板 IROM_SD_EBOOT.nb0 文件如何生成
在友坚给的wince开发BSP包中,只有三个文件Eboot.Whimory,NBL1.LSB,NBL2如果要生成IROM_SD_EBOOT.nb0 文件,用SD卡引导,还需要在加入几个文件,这里参考另外一家开发板厂家的BSP包,将需要的文件移植到友坚的开发板上。还需要几个文件BLCOMMONNBL1.IROM_SDSDMMC_LIBuuid首先将缺的这几个文件拷贝到友坚开发板的
2013-07-31 10:14:49 2315 2
转载 Eboot中nand flash控制器参数TACLS、TWRPH0和TWRPH1的确定(基于K9F2G08U0B)
注:K9F2G08U0B的供电电压时3.3V,本系统的FCLK=400Mhz,HCLK=400/3=133Mhz 1. nand flash控制器的初始化在NBL1.LSB的nand函数中调用NAND_Init()来初始化nand flash控制器,下面介绍这个函数void NAND_Init(void){// Initialize NAND Flash
2013-07-31 10:13:33 1066
转载 wince 关于Bin文件的解析
由Windows CE的开发工具Platform Build编译生成的Windows CE操作系统及Bootloader的镜像文件主要由两种格式类型——以.bin为文件名后缀的记录型镜像文件和以.nb0为后缀的原始型(raw)镜像文件,前者以记录(Record)为单位组织镜像的数据,后者则是镜像在嵌入式系统中运行时的二进制数据快照。DownloaderImage函数执行的第一步是调用GetIm
2013-07-31 10:12:24 2475 1
转载 S3C2416 Linux2.6.21 驱动移植--添加UART3 及波特率设置bug消除
一,移植环境(红色粗字体字为修改后内容,蓝色粗体字为特别注意内容)1.主机环境:Virtualbox 下ubuntu-10.102.编译编译环境:arm-linux-gcc v4.4.33.uboot : U-Boot 1.3.4(友坚提供)4.linux内核版本:2.6.21.55.硬件平台:采用友坚UT2416CV02核心板开发的平台6.参考: l
2013-07-31 10:10:59 866
原创 linux CS8900不能设置MAC地址的解决方法
2440在linux系统下,设置MAC地址,提示siocsifhwaddr operation not supported,通过跟踪 dev_ifsioc(struct net *net, struct ifreq *ifr, unsigned int cmd)函数,发现调用了dev_set_mac_address函数去设置MAC地址,而在这个函数中需要先判断是否有在网卡初始化的时候,定义了设置的
2013-07-31 10:09:39 2712
转载 CC430学习笔记(四)——时钟系统
上次看到论坛里有人需要CC430的时钟,这篇笔记就是了 大家都知道,单片机工作离不开时钟,在我们熟悉的51单片机里面,就是外部那个11.0592M或者12M的晶振给单片机的CPU和片上外设提供时钟节拍。430也是一样,但是430的时钟系统比51要先进和复杂很多。51的时钟源只有一个,来自外部晶振,直接提供给内部工作;而430的时钟是一个专门的模块,至少有3个可选时钟源(CC430有
2013-07-31 10:08:56 2456
转载 TI MSP430系列单片机串口通信波特率计算方法
TI MSP430系列单片机,usart模块的波特率值设定是通过以下三个寄存器决定的:UxBR0,UxBR1,UxMCTL 波特率=BRCLK/N ,主要是计算出N。BRCLK:时钟源,可以通过寄存器设定何为时钟源; 通过寄存器UCAxCTL1的SSEL两位选择,01:ACLK,02:SMCLKN:波特率产生的分频因子。N=UxBR1+UxBR0+UxMCTL,其中UxBR1+UxBR
2013-07-31 10:08:06 4006
转载 MSP430X5XX的时钟系统与低功耗模式
引言:全新改版,关于MSP430x5xx时钟系统与低功耗模式介绍。用到低功耗的时候,不得不仔细的看文档,做比较实验,真繁琐。430系列单片机中有各种时钟信号,第一次接触免不了一头雾水。而且如果想发挥430低功耗的优势,就不得不对它的时钟系统(Unified Clock System)有所了解。1. 时钟模块总览这是MSP430X5XX的时钟系统框图。乍一看很复杂,不过简化之
2013-07-31 10:07:11 2246
转载 嵌入式软件工程师面试题
嵌入式软件工程师面试题预处理器(Preprocessor)1. 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)#define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL 我在这想看到几件事情: 1). #define 语法的基本知识(例如:不能以分号结束,括号的使用,等等) 2). 懂得预处理器将为你计算
2013-07-31 10:06:20 803
转载 const与define 优缺点比较
常量:用宏表示常数 假如我们要写一个有关圆的种种计算的程序,那么∏(3.14159)值会被濒繁用到。我们显然没有理由去改∏的值,所以应该将它当成一个常量对待,那么,我们是否就不得不一遍一遍地写3.14159这一长串的数呢?这就用到了宏。宏不仅可以用来代替常数值,还可以用来代替表达式,甚至是代码段。宏的语法为: #define 宏名称 宏值 比如要代替前面说到的∏值,应为:#defi
2013-07-31 10:05:32 4020
转载 uboot中main_loop分析
终于分析完了main_loop,发文纪念一下。 1。main_loop common/main.c main_loop又臭又长,去掉宏注释掉的部分就只剩下一点点了。如下: void main_loop (void){#ifndef CONFIG_SYS_HUSH_PARSER static char lastcommand[CONFIG_SYS_CBS
2013-07-31 10:04:38 858
转载 uoot打印OK的位置
uboot启动后第一个打印的是"OK",那这个"OK"又是在哪里打印的呢?经查证,在Start.S的lowlevel_init.S中。搜索#UTXH_OFFSET(串口输出缓存寄存器)后发现:初始化完三个串口,输出'O' ldr r1, =0x4f4f4f4f str r1, [r0, #UTXH_OFFSET]uart_asm_init返回
2013-07-31 10:03:40 10094
转载 U-Boot启动过程分析
1.1 U-Boot工作过程 U-Boot启动内核的过程可以分为两个阶段,两个阶段的功能如下: (1)第一阶段的功能Ø 硬件设备初始化Ø 加载U-Boot第二阶段代码到RAM空间Ø 设置好栈Ø 跳转到第二阶段代码入口 (2)第二阶段的功能Ø 初始化本阶段使用的硬件设备Ø 检测系统内存映射Ø 将内核从Fla
2013-07-31 10:00:21 676
原创 ISD17系列语音芯片的地址计算方法
以ISD17120为例,我们知道,ISD17120芯片在标准8KHz的采样率下,能够录制120S的语音时长。根据采样速度可以计算出存储1s钟的语音需要8个地址单元。那么存储120s的语音需要960个存储单元而通过芯片数据手册得知,1760最大的存储地址是0x03c0。需要注意的是,录音地址是从0x0010开始,并不是从0x0000开始。所以整个芯片可用的录音地址是:0x03c0-
2013-07-31 09:58:22 1475
原创 BQ2057W锂电池充电电路的调试遇到的问题
调试时发现用12V的电源直接对7.4V锂电池充电,BQ2057和MOSFET会都会发烫,MOSFET管得温度可以达到120度,查看了一下流过管子的压差有4V左右,而充电电流控制在500mA,这样管子的功耗很大,就会很烫。后来更换了MOSFET管温度可以控制在50度以内。BQ2057会发烫,找了好久的原因,只要一接上充电管理芯片,整个系统的电源都被抬高了,最后发现,充电管理芯片的STAT脚直接和
2013-07-31 09:55:12 3640 2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人