自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

嵌入空间

嵌入空间

  • 博客(34)
  • 资源 (31)
  • 收藏
  • 关注

原创 __attribute__机制使用实例

typedef int (*obds_test_t) (void); #define RUN_TEST_COMMON(name, func)                         \    static int obds_##func (void)                           \    {

2013-01-31 12:34:38 524

原创 imx53 计算各个模块的时钟函数

/*! * This function returns the low power audio clock. */u32 get_lp_apm(void){    u32 ret_val = 0;    u32 ccsr = readl(CCM_BASE_ADDR + CLKCTL_CCSR);     if (((ccsr >> 10) & 1) == 0) {

2013-01-30 17:33:31 844

原创 imx53 时钟设置过程和详细说明

/* The function prog_pll sets up all four PLLs as follows:    PLL1 800MHz    PLL2 400MHz    PLL3 216MHz    PLL4 595MHz */void prog_pll(void){    // Clear ESDCTL configuration bit to al

2013-01-30 17:31:56 1260

原创 imx53 时钟dpll分析

DPLL reference clockThere are four DPLL's in i.MX53 project namely:• DPLL-1 (typical functional frequency 800Mhz)• DPLL-2 (typical functional frequency 400Mhz)• DPLL-3 (typical functional freq

2013-01-30 17:29:59 895

原创 最享受的事

住英国房子,用中国厨师,娶日本女人,拿美国工资与此相对,最要命的事,是住日本房子,用英国厨师,娶美国女人,拿中国工资

2013-01-30 09:45:02 324

原创 完成16进制数到10进制转换

/* slen - streng length, e.g.: 23 -> slen=2; abcd -> slen=4 *//* only convert hex value as string input. so "12" is 0x12. */static u32 quick_atoi(char *a, u32 slen){ u32 i, num = 0, digit; f

2013-01-29 17:38:08 525

原创 AHB、APB简介

AHB主要用于高性能模块(如CPU、DMA和DSP等)之间的连接,作为SoC的片上系统总线,它包括以下一些特性:单个时钟边沿操作;非三态的实现方式;支持突发传输;支持分段传输;支持多个主控制器;可配置32位~128位总线宽度;支持字节、半字节和字的传输。AHB 系统由主模块、从模块和基础结构(Infrastructure)3部分组成,整个AHB总线上的传输都由主模块发出,由从模块负责回应。基础结构

2013-01-29 17:36:28 888

转载 宝宝受不了挫折的5大原因 6招让孩子变坚强

如今的孩子多是家中独苗,被满满当当的爱包围着,承受力普遍较差。而日后成功者,必定要有所担当,能耐得住生活中的各种考验。这个道理再简单不过,但很多家长爱子心切,做起来还是犯了傻。 孩子为啥“受不了丁点委屈、吃不得一点苦”?本期,记者联合3位资深嘉宾一起探寻出五大形成“病因”,并开出几种对症性“疗方”。要想让孩子的内心变得强大起来,也许你还得学着做一个“爱而不露”的家长,甚至故意给孩子制造

2013-01-28 22:48:08 1142

转载 uboot命令解释与运行分析

这一回来分析一下uboot中命令行的解释, 所以我们直接从main_loop开始分析.1. 从汇编阶段进入c阶段的第一个函数是start_xxx, 如/lib_unicore/board.c中的start_unicoreboot. 前半部分调用了若干初始化函数来进行部分硬件的初始化, 并设置一下环境. 这里不是我们本回要讨论的所以一一跳过. 在start_xxx的最后调用了main_loop(

2013-01-25 17:34:41 467

转载 uboot命令大全

U-Boot还提供了更加详细的命令帮助,通过help命令还可以查看每个命令的参数说明。由于开发过程的需要,有必要先把U-Boot命令的用法弄清楚。接下来,根据每一条命令的帮助信息,解释一下这些命令的功能和参数。1、bootmbootm [addr [arg ...]]- boot application image stored in memorypassing arg

2013-01-25 17:33:19 383

原创 Uboot中raise: Signal # 8 caught解决

同样首先找到这句话在程序中的位置,如下:/lib_arm/eabi_compat.cint raise (int signum){         printf("raise: Signal # %d caught\n", signum);         return 0;}再搜索这个函数的调用情况,可是怎么找不到对应的程序,不知道为什么?求解?没能找到根本原因,

2013-01-25 17:30:01 1644

原创 Uboot中*** Warning - bad CRC or MMC, using default environment解决

首先找到打印此信息的位置,搜索可知在/common/env_cmm.c文件中。程序如下:#if !defined(ENV_IS_EMBEDDED)static void use_default(){         puts ("*** Warning - bad CRC or MMC, using default environment\n\n");         se

2013-01-25 17:28:44 6375

转载 uboot第一阶段详细分析

uboot的第一阶段设计的非常巧妙,几乎都是用汇编语言实现的,下面我们一起来看看它的精妙之处吧!首先我们来看一下它的链接脚本,通过它我们可以知道它整个程序的各个段是怎么存放的。OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")        OUTPUT_ARCH(arm)        EN

2013-01-24 12:44:04 570

转载 UBOOT详细解读

大多数bootloader都分为stage1和stage2两部分,u-boot也不例外。依赖于CPU体系结构的代码(如设备初始化代码等)通常都放在stage1且可以用汇编语言来实现,而stage2则通常用C语言来实现,这样可以实现复杂的功能,而且有更好的可读性和移植性。1、Stage1 start.S代码结构u-boot的stage1代码通常放在start.S文件中,他用汇编语言写成,其主

2013-01-24 12:38:10 543

转载 __attribute__ ((aligned (n), packed))

GNU C扩展的__attribute__ 机制被用来设置函数、变量、类型的属性,其用得较多的是处理字节对齐的问题。__attribute__ 的语法为:__attribute__ ((语法列表))参数aligned(number) [number为最小对齐的字节数]是用得较多的一个。另一个是参数packed 表示“使用最小对齐”方式,即对变量是字节对齐,对于域是位对齐。

2013-01-24 12:33:29 2530

转载 字对齐概念

一.什么是字节对齐,为什么要对齐?  现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特定的内存地址访问,这就需要各种类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。  对齐的作用和原因:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只能从某

2013-01-24 12:32:00 672

转载 uboot中,ARM体系下,设置变量4字节对齐

调试程序遇到由于buffer地址不是4字节对齐,所有底层去:u32 *p =(u32 *)buf;使得数据拷贝有误。所以,去参考了uboot中其他人的做法:boards1845flash.c中的:#define __align__ __attribute__ ((aligned (8)))static __align__ ulong precmd0[2] =

2013-01-24 12:09:02 929

原创 imx53 uboot 的spi nor驱动的执行过程?

最近在做imx53 uboot 的spi nor驱动,spi的驱动程序都有就是不知道怎么去初始化和用命令使用spi nor?

2013-01-23 17:41:52 1461 2

转载 Linux内核中container_of宏的理解

linux 中container_of的源码如下:#define container_of(ptr, type, member) ({ const typeof( ((type *)0)->member ) *__mptr = (ptr); (type *)( (char *)__mptr - offsetof(type,member) );})           可见在

2013-01-23 17:34:23 379

转载 container_of(ptr, type, member)

指针ptr指向结构体type中的成员member;通过指针ptr,返回结构体type的起始地址#define container_of(ptr, type, member) ({                  \    const typeof( ((type *)0)->member ) *__mptr = (ptr);    \    (type *)( (char *

2013-01-23 17:33:59 388

转载 TQ2440的学习——UBOOT移植(NAND FLASH的支持)——初步分析

UBOOT中关于NAND FLASH的支持十分完善,从命令上可以看出来,关于NAND FLASH的操作专门有个子系统。在驱动层面,UBOOT使用了MTD驱动规范,这个规范中对NAND FLASH的各种操作实现都很规范,一般来说只改写些少量的代码(相对于MTD设备驱动来说)就可以支持起来。大大减轻了移植难度。一般来说,各个主控芯片的NAND FALSH驱动都存放于drivers/mtd/na

2013-01-22 22:58:43 573

转载 TQ2440的学习——UBOOT移植(NOR FLASH相关操作支持)

UBOOT中可以对NOR FLASH进行操作,默认情况下是开启了CONFIG_CMD_FLASH这个宏的。这个宏支持flinfo(打印flash信息)、erase(擦除数据)和protect(保护)这几个命令,cp命令的NOR FLASH操作部分也会得到支持(将数据从内存复制到NOR FLASH)。UBOOT中各个板子的NOR FLASH的操作都是自己实现的。不过TQ2440和SMDK24

2013-01-22 22:57:18 937

转载 Uboot移植TQ2440之NOR驱动之一

弄了三天的TQ2440 NOR Flash今天尘埃落定.兼职是简直是煎熬啊.找了很多的 问题.最后到一一解决.移植Flash 驱动关键是 驱动函数的理解.虽然移植成功了.但是还是向我的站长要的驱动函数.NOR Flash的版本是EON29LV160AB 2M现在总结一下经验:1:修改root@localhost olduboot]# cd include/confi

2013-01-22 22:55:38 556

转载 U-boot-2009.03移植之十四:支持norflash启动

1:norflash 和 nandflash 兼容启动,自动识别2:对于nandflash的读写和擦出操作,因为目前把在内存中运行这的内核烧写到nand还不成功针对这两个问题做一些研究,今天解决了第一个问题,特记录一下。首先,关于uboot如何自动识别norflash和nandflash的方法,参看我转的另一篇博文《在U-boot下实现自动识别启动Flash的原理(针对S3C24x

2013-01-22 22:46:44 581

转载 编写uboot下Nor Flash驱动的注意事项

【Nor Flash中的一些术语】-1. Bottom/Top Boot Sect(底部/顶部 启动块)所谓的boot sect,是指的是Nor Flash和Nand Flash不太一样。Nand Flash从开始到最后,都是由同样大小的page所组成的。而Nor Flash,一般都是有个boot sect,好像是由于历史原因,常将Nor Flash用于作为存储启动代码的设备,

2013-01-22 22:27:10 718

转载 向Flash中烧写uboot和linux操作系统

向Flash中烧写uboot和linux操作系统 2011年03月28日   向Flash中烧写uboot和linux操作系统   ================================================================================  from:http://www.diybl.com/course/6_system/

2013-01-22 22:23:30 1150

转载 uboot命令大全

Printenv 打印环境变量。Uboot> printenvbaudrate=115200ipaddr=192.168.1.1ethaddr=12:34:56:78:9A:BCserverip=192.168.1.5Environment size: 80/8188 bytesSetenv 设置新的变量Uboot> setenv myboard AT9

2013-01-22 22:20:32 561

转载 uboot部分命令使用心得

1.用help可以查看当前uboot支持的命令默认的,输入help,可以查看到目前uboot支持的所有所有命令的名称和简单的解释,比如:# help?       - alias for 'help'asdebug - AS3536 debug shellbase    - print or set address offsetbdinfo - print Board In

2013-01-22 17:38:18 1000

转载 cvs tag 与 rtag, tag 与 branch区别

2. Branches2.1 Creating a Branch     Branches can be added to the repository tree in order to allow different     development paths to be tried, or to add parallel development of code

2013-01-22 12:22:03 1687

转载 CVS命令深入研究

环境:Windows server 2003 sp1简体中文版cvsnt-2.5.03.2260.msi目录:一、CVS命令整体结构二、CVS帮助察看方法概述三、CVS选项四、CVS命令五、CVS命令缩写六、CVS命令详解七、CVS实践======================================================一、CV

2013-01-22 12:18:41 642

转载 FSL Imx53 启动流程分析(1) --上电启动

IMx53上电后,进入的是其内部的Memory,从iMx53RM.pdf  Chapter 2中可以查看到System Memory Map图如下: 从片内地址的0x0000_0000至0x0000_FFFF这64K是Boot Rom的空间,其固化有Boot Code。IMx53在硬件复位后会强制Arm内核从Boot Rom启动,运行Boot Code。       Boot

2013-01-22 12:01:56 964

转载 DDR3详解(以Micron MT41J128M8 1Gb DDR3 SDRAM为例)

首先,我们先了解一下内存的大体结构工作流程,这样会比较容量理解这些参数在其中所起到的作用。这部分的讲述运用DDR3的简化时序图。   DDR3的内部是一个存储阵列,将数据“填”进去,你可以它想象成一张表格。和表格的检索原理一样,先指定一个行(Row),再指定一个列(Column),我们就可以准确地找到所需要的单元格,这就是内存芯片寻址的基本原理。对于内存,这个单元格可称为存储单元,那么这个表格

2013-01-16 12:24:32 30004 6

转载 DDR3内存技术原理

随着AMD AM2平台CPU的上市,目前两大处理器巨头均提供了对DDR2内存的支持。不过,DDR2远不是内存技术发展的终点,CPU和内存厂商已经在着手进行DDR3内存的相应准备。DDR2内存的好日子还没过上几天,它的下一代产品DDR3又成为了人们关注的对象。  DDR3内存已经面世   在本届Computex 2006台北展会上,威刚科技向人们展示了新一代的DDR3内存。威

2013-01-16 12:18:59 3192

转载 Ubuntu设置环境变量

添加环境变量:方法一:$ vi ~/.bashrc在最后一行添加PATH=$PATH:/my_new_path:$source ~/.bashrc方法二:注意:修改环境变量PATH。具体:修改/etc/bash.bashrc文件(所有用户都可用)$sudo vim /etc/bash.bashrc在文件末尾添加:export PATH=$PATH:/my_new

2013-01-09 12:23:52 609

飞思卡尔i.MX6平台DRAM接口高阶应用指导-DDR3篇

飞思卡尔i.MX6平台DRAM接口高阶应用指导-DDR3篇飞思卡尔i.MX6平台DRAM接口高阶应用指导-DDR3篇

2017-10-24

Guide toWriting and Porting Device

Guide toWriting and Porting Device Drivers

2013-01-09

基于FPGA 的步进电机正弦波细分驱动器设计

基于FPGA 的步进电机正弦波细分驱动器设计

2013-01-09

i.MX53手册

i.MX53i.

2012-12-18

imx53_quick_start_schematics

imx53_quick_start_schematics

2012-12-18

MC34708手册

MC34708.

2012-12-18

QS_HW_User_Guide

QS_HW_User_Guide QS_HW_User_Guide

2012-12-18

mx53 模块测试程序 飞思卡尔原版

mx53 模块测试程序 飞思卡尔原版 测试可用。

2012-12-18

原理图+PCB OrCAD+Allegro格式官方的板子

原理图+PCB OrCAD+Allegro格式,真正是官方的板子

2012-12-18

Linux下的shell编程入门

Linux下的shell编程入门

2012-09-06

u盘芯片检测工具

用于检测u盘芯片的工具。亲自测试过可以使用。

2012-05-15

分散加载scatterloading文件及其应用

分散加载scatterloading文件及其应用

2011-11-28

scatter文件详解

scatter文件详解scatter文件详解

2011-11-28

crc校验原理

crc校验原理crc校验原理crc校验原理crc校验原理

2011-11-28

ADPCM压缩算法程序

ADPCM压缩算法程序ADPCM压缩算法程序ADPCM压缩算法程序

2011-11-28

ADPCM源代码含调用例子

ADPCM源代码含调用例子

2011-11-28

三种SPWM算法源码

三种SPWM算法源码三种SPWM算法源码三种SPWM算法源码

2011-06-22

基于STM32的USB程序开发笔记

基于STM32的USB程序开发笔记基于STM32的USB程序开发笔记基于STM32的USB程序开发笔记

2011-06-22

USB的“JoyStickMouse”源代码分析 01

USB的“JoyStickMouse”源代码分析 01

2011-06-21

U S B 设 备 枚 举 过 程

U S B 设 备 枚 举 过 程

2011-06-21

I2C总线芯片AT24C02程序设计(精简版)

I2C总线芯片AT24C02程序设计(精简版)I2C总线芯片AT24C02程序设计(精简版)I2C总线芯片AT24C02程序设计(精简版)

2010-12-21

18B20温度传感器应用解析(中)

18B20温度传感器应用解析(中)18B20温度传感器应用解析(中)18B20温度传感器应用解析(中)18B20温度传感器应用解析(中)18B20温度传感器应用解析(中)

2010-12-21

AVR AD(模数)转换范例

AVR AD(模数)转换范例AVR AD(模数)转换范例AVR AD(模数)转换范例

2010-12-17

空空如也

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

TA关注的人

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