自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

jefby的专栏

记录点点滴滴

  • 博客(14)
  • 收藏
  • 关注

原创 嵌入式bootloader开发之十-------裸机程序LED开发(Tiny 6410)

在看完尚观的S3C2440嵌入式bootloader视频后,想做有关DRAM的实验,但是发现DRAM配置和Tiny 6410相差甚远,很多方面也无法契合,于是开始在网上找新的讲解有关S3C6410裸机开发的例子,有幸找到了韦东山老师的视频,跟着他讲的开始先做简单的LED实验,在做第三个时候发现一个很明显的问题,就是在提供的源码中调用了delay函数,而却并没有进行相应的时钟设置,所以试了很多次都是

2013-11-23 23:10:44 1106

原创 嵌入式bootloader开发之零----虚拟机环境配置(Tiny 6410)

之前开发bootloader程序的时候都是直接关机,然后切换到Linux系统下,接着再开发,可是发现有一些问题:第一,不能通过Superboot直接烧写uboot文件到NAND FLASH中;第二,系统切换比较麻烦,而且配置网络啊什么的;第三,因为在XP下还需要进行VxWorks开发,所以想了想还是决定按照Tiny6410官方要求的安装VMWARE,然后再虚拟机中安装Fedora9-i386版本,

2013-11-23 22:51:02 1370

原创 VxWorks下BSP源文件结构

Tornado开发环境安装完成后,在target/config目录下包含由官方提供的一些BSP以及公用目录all,all目录被所有的BSP使用,具体文件介绍如下:vxworks内核文件文件名说明usrConfig.c包含usrInit,usrRoot等函数bootInit.c包含romStart函数定义,负责代码从ROM拷贝到RAM中

2013-11-20 15:48:47 2138

原创 VxWorks5.5之usrRoot函数源码分析

做完项目报告,可以休息几天了,在经过usrInit函数做一些必要的初始化后,开始调用usrRoot执行第一个内核任务,同样以S3C2410为例,内核以VxWorks_rom为例进行详细的分析。

2013-11-15 22:23:59 3166

原创 VxWorks5.5之usrInit函数分析(usrConfig.c)

因为使用的镜像是VxWorks_rom,所以usrInit函数在文件config/all/usrConfig.c中定义,由romStart函数调用,此时中断为全关状态,多任务内核还未开启,主要完成清除BSS段,设置中断向量表,初始化硬件最后使用usrRoot启动内核。下面是以S3C2410为例,将源码中不必要的部分去除后的代码:#define TRAP_VALUE_1 0x1234

2013-11-15 13:58:28 2051

原创 Vxworks5.5之romStart函数分析

romStart函数在文件target/config/all/bootInit.c中定义,用于bootrom的第二阶段初始化。首先把text和data段从ROM拷贝到RAM中,然后初始化部分RAM,进行解压。下面参考源码进行详细分析。void romStart ( FAST int startType /* start type */ ) {#if (

2013-11-15 10:58:32 1557

原创 romInit.s源码分析

romInit.s(平台S3C2410,Vxworks5.5)主要完成了硬件初始化,例如设置UART0可以接收数据,禁用所有中断,初始化DRAM,设置MMU单元,设置时钟频率FCLK和PCLK、HCLK等================================================================================

2013-11-13 13:53:35 1280

原创 嵌入式bootloader开发之九----键盘中断控制LED灯(Tiny 6410)

概要:         本节主要记录在Tiny 6410开发板中编写的裸机程序按键中断控制LED灯的亮灭。Tiny6410中配置了8个用户定义的按键,本文使用了KEY1来控制LED1~LED4的亮灭。按键和LED的电路图如下:K1对应的是外部中断EINT0,LED1~LED4的配置方法和文章嵌入式bootloader开发之六(Tiny 6410)http://blog.cs

2013-11-12 13:28:09 1470

原创 嵌入式bootloader开发之八----NAND Flash读写擦除操作实现(Tiny 6410)

概要:         本节主要记录开发Tiny6410自带的NAND FLASH的过程,实现了NAND FLASH的擦除,读写数据功能,但都只是简单的实现而已,并没有做精细而完整的实现,毕竟只是想学原理。前言:    工欲善其事,必先利其器。在做开发之前,必须保证良好的环境和设备,笔者所使用的tiny6410光盘中自带的uboot版本比较老,而且其并不支持MLC2的读写操作,

2013-11-10 22:00:25 3777

原创 嵌入式bootloader开发之七---裸机watchdog中断开发(Tiny 6410)

概要:         本节主要记录watchdog的复位和时钟中断配置方法。         S3C6410中和S3C2410,S3C2440中断管理方法不太一样,它有2个硬件中断控制器VIC0和VIC1来进行中断向量地址的保存和自动跳转,从一定程度上方便了开发者,但是对于我这个小白来说这无疑没什么优势,看的是2440的中断控制方法,却要在6410上使用。而且自己没有实际接触过A

2013-11-05 21:46:36 825

原创 嵌入式bootloader开发之六(Tiny 6410)

概要:          本节记录有关S3C6410的GPIO配置的有关知识,以点亮LED灯配置为例。               友善之臂Tiny6410开放板的核心板上提供了5个LED灯,一个用于指示系统是否运行,其他四个是可以由用户配置的LED灯。电路连接情况如下:LED1~LED4分别对应于GPK4~GPK7,由S3C6410开发手册中查阅到这些GPIO所映射的内存地址

2013-11-05 20:40:48 1391

原创 嵌入式bootloader开发之五(Tiny 6410)

本节主要记录有关UART的配置和数据传输方法。UART其实从原理上讲是不怎么难的,可是不知怎么回事,这次这个实验却花了我很长很长的时间。        首先是刚开始的时候看视频,看完视频接着就需要另外一个串口来连接开发板,但是实验室的台式机却只有一个串口,想过再找一个串口插上去,或者直接用USB转串口(这个线我恰好有)于是就自己折腾了一下,可是发现怎么连也没反应,也不知道是USB-

2013-11-04 06:15:51 1015

原创 CentOS6.4双网卡修改默认网关

如题,在CentOS下配置了两块网卡,其中一块用于日常上网,一块用于与开发板连接,配置在不同的网段,起初是使用CentOS下自带的NetworkManger,使用DHCP来配置网络,但是想学习网络管理,所以禁用了此功能,而用手工进行IP分配与配置。所以今天就出现了一些问题,打开电脑后发现无法上网,刚开始还以为是实验室的网络问题,可是其他电脑却可以上网,问题在自己电脑身上,ping,然后查看路由表,

2013-11-02 19:15:19 2577

原创 嵌入式bootloader开发之四(Tiny 6410)

概要:       本节主要记录配置watchdog产生复位信号的过程,以及一点点的中断控制知识       上一节主要记录了ARM汇编的一些基础知识,本节内容将阅读S3C6410的数据手册,访问WatchDog的一些必须的寄存器,并进行相应的配置。       代码如下://watch dog#define WTCON (*(volatile unsign

2013-11-02 00:09:54 672

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除