2014年3月20日

基于uIP和uC/OS-II嵌入式网络开发

摘要: uIP协议栈简单易用,可以为16位单片机或者是更低级的处理器使用,占用的资源很少,相关移植网上有详细介绍,本文主要讨论uIP如何主动发送数据。所用的开发板是STM32系列的,uC/OS-II操作系统,开发板作为服务器端。 阅读全文

posted @ 2014-03-20 17:09 wangyw 阅读(1087) 评论(0) 推荐(0)

Keil开发的ARM程序main函数之前的汇编分析

摘要: Cortex-M3上电后来到复位中断(已将前4个字节的值存入MSP堆栈指针),转到__main标号,完成RW段的移动、ZI段的初始化,建立堆栈,初始化库函数,然后跳转到main函数,开启C程序之旅。本文以Cortex-M3为例,介绍系统上电到启动的流程,主要分析RW段的初始化。 阅读全文

posted @ 2014-03-20 16:37 wangyw 阅读(3072) 评论(0) 推荐(0)

STM32平台SD卡的FatFS文件系统开发

摘要: FatFS是一个为小型嵌入式系统设计的通用FAT(File Allocation Table)文件系统模块,可以很容易实现移植,本文以STM32主芯片、uCos-II操作系统为例,SPI方式操作SD卡,实现对SD卡文件的读取,写入,并将SD卡拿到WINDOWS下查看,确保文件的正确存储。 阅读全文

posted @ 2014-03-20 16:10 wangyw 阅读(2589) 评论(0) 推荐(0)

STM32 Cortex-M3 NMI异常

摘要: 调试STM32 Cortex-M3 HardFault异常,以外发现程序居然进入了NMI异常。对于这种异常,从来没有出现过,对其分析,查找原因。 阅读全文

posted @ 2014-03-20 15:54 wangyw 阅读(6054) 评论(0) 推荐(1)

应对STM32 Cortex-M3 Hard Fault异常

摘要: Hard fault (硬错误,也有译为硬件错误的)是在STM32(如无特别说明,这里的STM32指的是Cortex-M3的核)上编写程序中所产生的错误,造成Hard Fault错误的原因也是最为纷繁复杂的。由于能导致该错误的原因很多,所以一但出现,比较难找到其原因。网上有很多类似的这种方法,现在我将其稍加整理,并结合我曾经遇到过的问题,详细说明。 阅读全文

posted @ 2014-03-20 15:42 wangyw 阅读(18008) 评论(0) 推荐(3)

LwIP协议栈开发嵌入式网络的三种方法分析

摘要: 轻量级的TCP/IP协议栈LwIP,提供了三种应用程序设计方法,且很容易被移植到多任务的操作系统中。本文结合μC/OS-II这一实时操作系统,以建立TCP服务器端通信为例,分析三种方法以及之间的关系,着重介绍基于raw API的应用程序设计。最后在ST公司STM32F107微处理器平台上验证,并给出了测试结果。 阅读全文

posted @ 2014-03-20 15:13 wangyw 阅读(8958) 评论(0) 推荐(0)

2014年2月9日

STM32的备份寄存器和控制状态寄存器

摘要: STM32的备份寄存器和控制状态寄存器1 备份寄存器用于RTC时钟RTC时钟可以在掉电以后继续计数,保证时间的延续,但是重新上电以后需要配置,保证之前的计数不会被清除,可以借助备份寄存器实现,备份寄存器掉电以后也可以保持。if (BKP_ReadBackupRegister(BKP_DR1) != 0xA5A5) //检测备份区域寄存器的值 { RTC_Configuration(); //配置RTC Time_Adjust(); //调整时间,将UNIX时间设入RTC计数值 BKP_WriteBackupRegister(BKP_DR1, 0xA5A5); //给BKP_DR1写入0xA5A 阅读全文

posted @ 2014-02-09 21:06 wangyw 阅读(3781) 评论(0) 推荐(0)

导航