- 博客(30)
- 资源 (4)
- 收藏
- 关注
转载 STM32F103VC在RAM中调试方法
最近开始学习STM32,芯片STMF103VCT6 编译工具 keil 4.14(评估板)。起初是改写买板子送的例程,下载程序到FLASH,看看现象。虽说FLASH可以下载万次,但看到人家说这样容易损伤FLASH。datasheet中说到STM32有三种启动方式,可以在芯片上的SRAM中调试程序。但搞来搞去始终不能明白。 今天我终于搞成了,我以GPIO跑马灯的程序来测试的。首先把程序下载
2014-07-27 21:44:57 1286
转载 了解RO、RW、ZI和.text .bss .data
了解RO,RW和ZI1.RO段包括只读代码段(code段/.text段)和常量段(RO Data段/.constdata段)。 2.RW段(.data段)指已被初始化成非0值的变量段。 3. ZI段(.bss段)指未被初始化或初始化为0的变量段。4.1 ARM Image的结构一个ARM Image structure由linker在以下几个方面定义:
2014-07-26 21:06:36 4248
转载 stm32f103串口IAP实验
IAP,即在应用编程。很多单片机都支持这个功能,STM32也不例外。在之前的FLASH模拟EEPROM实验里面,我们学习了STM32的FLASH自编程,本章我们将结合FLASH自编程的知识,通过STM32的串口实现一个简单的IAP功能。48.1 IAP简介 IAP(In Application Programming)即在应用编程,IAP是用户自己的程序在运行过程中对User Flas
2014-07-25 10:23:22 6296
转载 wget 命令用法详解
wget是在Linux下开发的开放源代码的软件,作者是Hrvoje Niksic,后来被移植到包括Windows在内的各个平台上。它有以下功能和特点:(1)支持断点下传功能;这一点,也是网络蚂蚁和FlashGet当年最大的卖点,现在,Wget也可以使用此功能,那些网络不是太好的用户可以放心了;(2)同时支持FTP和HTTP下载方式;尽管现在大部分软件可以使用HTTP方式下载,但是,有些时候
2014-07-24 10:42:21 540
转载 linux下常用FTP命令 上传下载文件
1. 连接ftp服务器格式:ftp [hostname| ip-address]a)在linux命令行下输入:ftp 192.168.1.1b)服务器询问你用户名和密码,分别输入用户名和相应密码,待认证通过即可。2. 下载文件下载文件通常用get和mget这两条命令。a) get 格式:get [remote-file] [local-file]将文
2014-07-24 09:14:29 1955
转载 Linux系统中/dev/mtd与/dev/mtdblock的区别,即MTD字符设备和块设备的区别
1. /dev/mtdN 是Linux 中的MTD架构中,系统自己实现的mtd分区所对应的字符设备,其里面添加了一些ioctl,支持很多命令,如MEMGETINFO,MEMERASE等。而mtd-util中的flash_eraseall等工具,就是以这些ioctl为基础而实现的工具,实现一些关于Flash的操作。比如,mtd 工具中的 flash_eraseall中的:if (ioctl(
2014-07-23 21:18:01 1079
转载 在Linux运行期间升级Linux系统(Uboot+kernel+Rootfs)
在Linux运行期间升级Linux系统(Uboot+kernel+Rootfs)版本:v1.1Crifan Li摘要本文主要介绍了如何在嵌入式Linux系统运行的时候,进行升级整个Linux系统,包括uboot,kernel和rootfs本文提供多种格式供:在线阅读HTMLHTMLs
2014-07-23 21:09:40 818
转载 mtd-utils工具的编译和使用
一、下载源码包并解压root@:/home/# wget ftp://ftp.infradead.org/pub/mtd-utils/mtd-utils-1.0.0.tar.bz2root@:/home/# wget http://www.zlib.net/zlib-1.2.3.tar.gzroot@:/home/# wget http://www.oberhumer.com/open
2014-07-23 14:34:24 1098
转载 linux nand flash常用命令
使用命令前用cat /proc/mtd 查看一下mtdchar字符设备;或者用ls -l /dev/mtd*#cat /proc/mtddev: size erasesize namemtd0: 00c00000 00020000 “ROOTFS”mtd1: 00200000 00020000 “BOOTLOADER”mtd2: 00200000 00020000
2014-07-23 14:12:09 2060
转载 Linux MTD系统剖析
MTD,Memory Technology Device即内存技术设备,在Linux内核中,引入MTD层为NOR FLASH和NAND FLASH设备提供统一接口。MTD将文件系统与底层FLASH存储器进行了隔离。如上图所示,MTD设备通常可分为四层,从上到下依次是:设备节点、MTD设备层、MTD原始设备层、硬件驱动层。Flash硬件驱动层:Flash硬件驱动层负责对Flash硬件
2014-07-23 11:15:28 649
转载 U-boot分区及内核更新的实现
一 问题提出1)在没有网络的环境下可以使用U盘等存储介质来更新内核2)可以通过网络远程更新内核3)支持U-Boot对nor falsh ,nand flash的分区4) U-Boot下对JFFS2文件系统的支持。二 问题解决通过实现U-boot使用JFFS2文件系统加载内核的方法解决上述内核更新及分区问题 三 问题实现(u-boot-2009.01)添加对JFF
2014-07-23 10:47:34 1278
转载 S3C2440如何从NAND FLASH中启动
S3C2440可以配置从NOR FLASH中启动,也可以配置成从NAND FLASH中启动,从NORFLASH中启动比较好理解,因为NOR FLASH和RAM一样可以通过总线访问,cpu可以直接执行NORFLASH中的程序,但是CPU不能直接通过总线访问到NAND FLASH中的程序,要从NANDFLASH中启动就要做些工作了。S3C2440的解决办法是在芯片内置了4k的RAM,叫做Stepp
2014-07-22 12:05:12 773
转载 从0开始学Keil下的S3C2440裸机开发-2使用外部SDRAM
和使用内部RAM一样,关键设置分散加载文件,同时设置JLINK初始化配置文件。1、新增工程配置组。2设置分散加载组3设置ini文件Ext_Ram内容:FUNC void SetupForStart (void) {// Program Entry Point PC = 0x30000000;}FUNC void Init (void) {
2014-07-21 16:23:11 869
转载 从0开始学Keil下的S3C2440裸机开发-3使用外部NORFLASH+内部RAM
关于S3C2440启动方式:程序下载到NORFLASH中后,选择从NORFLASH启动,自动执行,NORFLASH中执行代码,内部RAM分配变量;NORFLASH本身地址映射为0X0000000,内存选用内部RAM。程序下载到NANDFLASH中后,选择从NANDFLASH启动,会自动搬运4K到RAM中运行。1、新增工程配置组.2设置分散加载组
2014-07-21 15:57:04 1194
转载 浅析keil下RV MDK如何直接编译生成bin文件
浅析keil下RV MDK如何直接编译生成bin文件网上好多人都想用hex转成bin,这样做不好,一方面因为,Hex2bin程序对hex大小有限制(我的200k的hex就不能转换)另一方面既然做的是arm那就应该使用纯正的arm格式, hex转bin总有些不伦不类,至少我一直都认为bin和elf才是arm的正统文件,只需做如下简单配置即可将axf这个elf文件直接转换为bi
2014-07-18 11:24:36 1360
转载 source insight的查找功能
sourceinsight是一款很好的c语言的程序编辑器,方便对project管理,方便程序的阅读和编辑。查找功能使用十分频繁,选项较多,与其它软件的查找功能也类似,下面对英文版的查找功能,做简单说明:查找参数:whole wordsonly : 全字匹配查找casesensitive : 区分大小写p
2014-07-16 13:54:57 2219 1
转载 U-BOOT环境变量实现
1.相关文件common/env_common.c供u-boot调用的通用函数接口,它们隐藏了env的不同实现方式,比如dataflash,epprom, flash等 common/env_dataflash.cenv 存储在dataflash中的实现 common/env_epprom.cenv 存储在epprom中的实现 common/env_flas
2014-07-16 10:05:25 626
转载 YAFFS2文件系统
1 Yaffs文件系统结构 1.1 简介 1.1.1 应用场合 Yaffs(Yet Another Flash File System)文件系统是专门针对NAND闪存设计的嵌入式文件系统,目前有YAFFS和YAFFS2两个版本,两个版本的主要区别之一在于YAFFS2能够更好的支持大容量的NAND FLASH芯片。Yaffs文件
2014-07-15 15:00:31 884
转载 内核启动出现Partially written xxx block detected
arm板启动后出现大量的Partially written block 53 detectedPartially written block 53 detectedPartially written block 53 detectedPartially written block 53 detectedPartially written block 53 detected
2014-07-15 09:01:26 587
转载 Linux系统管理 启动时间的极限优化方案
在上次完成嵌入式应用的Linux裁减后,Linux的启动时间仍需要 7s 左右,虽然勉强可以接受,但仍然没有达到我个人所追求的目标——2s 以内。况且,在实际的商用环境中,设备可靠性的要求可是“5个9”(99.999%,即OOS时间低于5分钟/年),这就意味着每减少一秒钟Linux启动(设备复位)时间,对可靠性都是一个明显的提升。 言归正传,如何着手对Linux的启动时间进行优化呢?
2014-07-14 20:49:43 821
转载 Linux 内核启动时间分析
1. 首先修改kernel的bootargs,在bootargs中添加以下内容: printk.time=y initcall_debug 我使用的bootargs修改后如下: setenv bootargs "root=/dev/mtdblock2 rootfstype=yaffs2 init=/init console=ttyS
2014-07-14 20:20:22 980
转载 linux-2.6.32在mini2440开发板上移植(7)之修改linux开机logo
修改Linux LOGO编者:linux的开机默认logo是一只可爱的小企鹅。这里我们可以把它换成我们自己喜爱的图片,只要将linux-2.6.32.2/drivers/video/logo/linux_logo_clut224.ppm替换成自己的图片即可。方法很简单,照着操作基本就没问题。以下按照手册介绍两种方法。注意在进行图片的转换时候,一定要先注意图片的大小,要和使用的液晶屏的大小匹配。
2014-07-14 16:34:45 591
转载 U-BOOT的目录结构
网上采用的u-boot一般是1.1或1.2系列的版本,其目录结构介绍的资料比较多,在新一些的版本中U-boot目录结构做了比较大的改变,比以前的版本更加简洁、合理。下面对比其异同,进行进一步讲解。一、 1.1或1.2等老版本U-boot目录结构u-boot目录下有18个子目录,分别存放管理不通的源程序。这些目录中所要存放的文件有其规则,可以分成三类。 n 第一类目录与处理器体系结构
2014-07-14 15:31:29 716
转载 fl2440的U-boot-2010.09移植(七)LCD的支持
一、LCD时序配置 fl2440开发板的LCD是3.5寸屏型号是WXCAT35-TG3#001,这是一款320x240分辨率的TFT LCD屏,先来了解一下TFT LCD的时序如下:图1 TFT LCD时序(1)VSYNC信号来一个脉冲时,表示一帧的开始(2) VSPW表示VSYNC信号的脉冲宽度为(VSPW+1)个HSYNC信号周期,即(VSPW+1)行,这(VS
2014-07-14 10:53:46 625
转载 制作u-boot LCD开机logo 及LCD字符显示错误的解决
前段时间总感觉忙,驱动、应用瞎搞一通,移植的uboot也是缺胳膊少腿,都是没开机logo的,只实现了基本功能。最近闲下来了,想弄些好玩点的东西,从那开始呢?还是uboot,把uboot一点一点完善起来,这应该是一个比较有意思的过程。做一个自己喜欢的开机logo,岂不是很炫。。。 要想显示logo,当然我们首先要做的是修改完善lcd的驱动,修改驱动这一块我就不赘述了,网上一搜一大把,不过推
2014-07-11 21:28:28 1141
转载 gd_t和bd_t 以及 *gd asm ("r8")
gd_t和bd_t是u-boot中两个重要的数据结构,在初始化操作很多都要靠这两个数据结构来保存或传递.分别定义在./include/asm/global_data.h和./include/asm/u_boot.h1.gd_t: global data数据结构定义,位于文件 include/asm-arm/global_data.h。其成员主要是一些全局的系统初始化参数。需要用到时用宏定义
2014-07-11 21:16:49 1067
转载 LDS文件格式分析
最近在看Linux内核时,总是遇到一些和连接脚本相关的东东,搞得人一头雾水,终于下定决心把它搞明白,写下一点心得,希望对和我一样的人有所帮助! 连接脚本的格式====================连接脚本是文本文件.你写了一系列的命令作为一个连接脚本. 每一个命令是一个带有参数的关键字,或者是一个对符号的赋值. 你可以用分号分隔命令. 空格一般被忽略.文件名
2014-07-10 16:25:18 684
转载 U-BOOT 2010.03源码分析
U-boot第一阶段汇编代码分析一个可执行的 image 必须有一个入口点,并且只能有一个全局入口点,所以要通知编译器这个入口在哪里,入口点是通过有链接脚本来实现的,由此我们可以找到程序的入口点是在cpu/arm_cortexa8/u-boot.lds 中指定的,其中ENTRY(_start) 说明程序从_start 开始运行,而它指向的是cpu/arm_cortexa8/start.o
2014-07-10 10:10:17 857
转载 U-Boot的启动过程
参考1:U-Boot启动过程可以分成两个阶段(stage)下面是u-boot启动过程的流程图其中左右两部分分别是启动过程的两个阶段 第一阶段(stage1):依赖于CPU体系结构的代码(如设备初始化代码等),一般用汇编语言来实现。主要进行以下方面的设置:设置ARM进入SVC模式、禁止IRQ和FIQ、关闭看门狗、屏蔽所有中断。设置时钟(FCLK,HCLK,PCLK)、清空
2014-07-09 18:52:27 903
转载 “转”使用UBOOT烧写根文件系统和内核的方法
使用nor的supervivi烧写uboot到nand: 进入supervivi,选择a,absolute user application /**************uboot下用命令下载uboot,内核和文件系统********************/ /* 先将内核zImage用mkimage转换成uImage(叫zIMage.img) mkimag
2014-07-08 11:09:53 987
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人