摘要: J-LINK:是SEGGER公司为支持仿真ARM内核芯片推出的JTAG仿真器。配合IAR EWAR,ADS,KEIL,WINARM,RealView等集成开发环境支持所有绝大部分arm核soc芯片的仿真。市面上J-LINK大多都是盗版的,采用芯片为AT91SAM7S64。自己copy一个板子,在网上下一个固件一烧写就搞定。有时候固件会出问题,指示led不亮了,usb无法识别了,除非芯片坏可,一般重新烧写一下固件就好了。固件烧写步骤网上都有,我对其原理进行了补充:1、拉高55号管脚(ERASE),把将内部程序擦除掉。2、拉高40号管脚(TST),确保重新上电之前TST,PA0/PGMEN0,PA 阅读全文
posted @ 2011-02-19 22:23 xidongs 阅读(5572) 评论(0) 推荐(0) 编辑
摘要: 第一个区别当然是名字: SPI(Serial Peripheral Interface:串行外设接口);I2C(INTER IC BUS:意为IC之间总线)UART(Universal Asynchronous Receiver Transmitter:通用异步收发器)第二,区别在电气信号线上:SPI总线由三条信号线组成:串行时钟(SCLK)、串行数据输出(SDO)、串行数据输入(SDI)。SPI总线可以实现 多个SPI设备互相连接。提供SPI串行时钟的SPI设备为SPI主机或主设备(Master),其他设备为SPI从机或从设备(Slave)。主从设备间可以实现全双工通信,当有多个从设备时,还 阅读全文
posted @ 2011-02-19 21:10 xidongs 阅读(1167) 评论(0) 推荐(0) 编辑
摘要: /* Code starts here - call it GPSLogger_v2.1 :) */// this is a generic logger that does checksum testing so the data written should be always good// Assumes a sirf III chipset logger attached to pin 0... 阅读全文
posted @ 2011-02-18 22:37 xidongs 阅读(501) 评论(0) 推荐(0) 编辑
摘要: 首先我们先看看3.1.0的文件结构和以前2.0有什么不同: 1. startup_stm32f10x_xx.s启动文件;里面定义了启动地址和中断的入口他分别对大、中、小以及互联产品写了不同的启动文件。在建工程的时候我们按照我们使用的芯片选择相应的文件即可。 这个文件和2.0的stm32f10x_vector.c文件作用是一样的 2 core_cm3.c定义了很多在不同调试器下的汇编语言读写内核寄存器的标号他和2.0的cortexm3_macro.s文件做的工作是一样的 3 在3.1.0里面多了一个system_stm32f10x.c系统初始化文件,主要是对系统rcc的初始化我们只需要改变文件上 阅读全文
posted @ 2011-02-11 23:44 xidongs 阅读(1052) 评论(0) 推荐(0) 编辑
摘要: stm32+sdio+fatfs文件系统 源码分析 一、概述1、目的在移植之前,先将源代码大概的阅读一遍,主要是了解文件系统的结构、各个函数的功能和接口、与移植相关的代码等等。2、准备工作在官方网站下载了0.07c版本的源代码,利用记事本进行阅读。二、源代码的结构1、源代码组成 源代码压缩包解压后,共两个文件夹,doc是说明,src里就是代码。src文件夹里共五个文件和一个文件夹。文件夹是option,还有00readme.txt、diskio.c、diskio.h、ff.c、ff.h、integer.h。对比网上的文章,版本已经不同了,已经没有所谓的tff.c和tff.h了,估计现在都采用条 阅读全文
posted @ 2011-02-09 13:29 xidongs 阅读(11808) 评论(0) 推荐(1) 编辑
摘要: FATFS 的几个函数用法:FATFS *fs, fatfs;fs = &fatfs;f_mount(0, fs);b = f_open(&infile,"SD.txt",FA_CREATE_NEW); //创建新文件f_close(&infile); //关闭文件b = f_open(&infile,"SD.txt", FA_WRITE); //以写方式打开文件f_puts((char *)buff2,&infile); //文件内写入字符串f_puts((char *)b 阅读全文
posted @ 2011-02-08 23:20 xidongs 阅读(12791) 评论(0) 推荐(0) 编辑
摘要: 1.SD卡的命令格式:SD卡的指令由6字节(Byte)组成,如下:Byte1:0 1 x x x x x x(命令号,由指令标志定义,如CMD39为100111即16进制0x27,那么完整的CMD39第一字节为01100111,即0x27+0x40)Byte2-5:Command Arguments,命令参数,有些命令没有参数Byte6:前7位为CRC(Cyclic Redundacy Check,循环冗余校验)校验位,最后一位为停止位02.SD卡的命令SD卡命令共分为12类,分别为class0到class11,不同的SDd卡,主控根据其功能,支持不同的命令集 如下:Class0 :(卡的识别 阅读全文
posted @ 2011-02-07 23:57 xidongs 阅读(2426) 评论(0) 推荐(1) 编辑
摘要: 因为需要,又不想自己写,所以就移植了一个文件系统。 说下我的硬件和开发工具:接成 TRUE IDE 模式下的CF卡(也就是相当于一块硬盘了),三星S3C2440的ARM9,开发工具是很老很老的D版的ADS1.2。 我在网上看到的嵌入式系统上面常用的文件系统有UCOSII公司的UC/FS,支持CF卡,硬盘,SD/MMC卡,还有NAND FLASH等等,比较多,不过是商用的,需要银子的,有周立功的用于教学用(为什么说是用于教学用的,呵呵,等下就说)的ZLG/FS,还找到了开源、免费的两个,其中一个叫做 efsl ,另一个叫做 FatFs 。 现在先不考虑版权的问题,选择一个比较合适的文件系统。第 阅读全文
posted @ 2011-02-07 12:32 xidongs 阅读(1595) 评论(1) 推荐(1) 编辑
摘要: 因为要用,学习了一下SPI操作SD卡,同时移植了一个免费开源的FAT文件系统:FatFS。感觉挺好,在单片机上实现了读写文件的操作,接下来就可以解释我的G代码咯!  我的SD卡底层操作参考了网上几种常见的代码,但又对其结构做了一定的优化,至少看起来用起来比较方便。既可以作为文件系统的diskio使用,也可以直接使用底层函数,把SD卡作为一块flash读写。  FatFs文件系统体积蛮小,6-7K足矣,对于128Kflash的STM32来说很合适,代价不大。同时可移植性很高,最少只需要4个函数修改既可以实现文件系统的移植。相关文件系统的介绍请看这里。  这里给一套比较完整的参考资料,包括fatf 阅读全文
posted @ 2011-02-07 12:31 xidongs 阅读(5938) 评论(1) 推荐(0) 编辑
摘要: 注:以下内容转载自网络,作为资料保存给stm32移植fatfs文件系统,今天终于取得阶段性胜利。只需要提供这样几个函数即可 DSTATUSdisk_initialize(BYTE); DSTATUSdisk_status(BYTE); DRESULTdisk_read(BYTE,BYTE*,DWORD,BYTE); DRESULTdisk_write(BYTE,constBYTE*,DWORD,BYTE);//如果实现只读的文件系统就不需要了。 DRESULTdisk_ioctl(BYTE,BYTE,void*); 移植成功后,可以用如下方式读取SD卡了,实在太方便了,和PC机上编程差不了多少 阅读全文
posted @ 2011-02-07 12:28 xidongs 阅读(4629) 评论(0) 推荐(1) 编辑