03 2014 档案

STM32F103 ucLinux开发之三(内核启动后不正常)(完结)
摘要:自行编写BOOT启动ucLinux后,内核不能完全启动,卡在mem_init函数,走不下去。分析原因,发现是STM32F103,内核的内存分配有问题,但是暂时找不到解决的办法。 阅读全文

posted @ 2014-03-23 00:09 wangyw 阅读(2913) 评论(0) 推荐(0) 编辑

STM32F103 ucLinux开发之二(内核启动汇编代码分析)
摘要:BOOT跳转到内核后,首先要执行一长段的汇编代码,然后才能跳转到C语言函数start_kernel。本文分析start_kernel函数之前的汇编代码,做个记录。 阅读全文

posted @ 2014-03-22 21:07 wangyw 阅读(3668) 评论(0) 推荐(0) 编辑

STM32F103 ucLinux开发之一(BOOT分析及源码)
摘要:STM3210E-EVAL官方开发板,主芯片STM32F103ZET6,支持ucLinux开发,官网也给出了开发套件。但是官网没有给出BOOT的源代码, 只有HEX文件(根据推测该HEX文件时KEIL生成的)。 看过UBOOT的启动后,了解了BOOT启动都干些什么事,我仿照UBOOT在KEIL软件下写功能超级简单的BOOT,就是完成外设的初始化, 初始化控制器串口1,经过验证,可以跳转到内核,内核能够实现printf打印输出。 阅读全文

posted @ 2014-03-22 20:55 wangyw 阅读(16383) 评论(0) 推荐(1) 编辑

STM32F103片外运行代码分析
摘要:KEIL开发STM32F103程序,在片外NorFlash或者是SRAM中运行。 STM32F103有三种启动方式,但是都无法直接在NorFlash或者片外SRAM启动,因此需要BootLoader,然后再执行跳转。 附件里有三个文件夹,一个是BOOT,一个是NorFlash应用程序,一个是SRAM应用程序,都是采用KEIL3.8编译。 本次选用BootLoader放在片内Flash,启动后配置FSMC_SRAM、以及FSMC_NOR,然后执行跳转到片外运行。 阅读全文

posted @ 2014-03-22 17:41 wangyw 阅读(2331) 评论(0) 推荐(0) 编辑

WinCE下SQLCE数据库开发(VS,VB.net,VC++)
摘要:WinCE下SQLCE数据库开发(VS,VB.net,VC++)WinCE下SQLCE数据库开发微软的SQL Server数据库由于其功能强大、方便使用,因此在很多行业都被广泛应用。基于智能设备,微软推出了SQL Server的精简版SQL Server FOR CE,简称为SQLCE。SQLCE的推出,使得人们在移动设备、嵌入式设备上可以享受SQLServer高性能的数据库服务。本文就WinCE嵌入式系统下的SQLCE数据库开发展开讨论,SQLCE功能全面,支持ADO.NET和OLE DB Provider For SQLCE,用VS2005开发工具分别就这两种方式给出开发的概要步骤。一、V 阅读全文

posted @ 2014-03-21 15:52 wangyw 阅读(1015) 评论(0) 推荐(0) 编辑

基于VC++的WinCE网口通信
摘要:基于VC++的WinCE网口通信WinCE下的网络编程与Windows下的非常类似,只是个别API函数有所不同。同样分为UDP和TCP两种,UDP就是无连接的通信,通过“用户数据报协议”(UDP)来完成的;而TCP是有连接的,即传输控制协议,实现无差错无重复的顺序数据传输。一、UDP编程UDP编程相对简单:首先调用socket函数创建数据报套接字,然后调用bind函数绑定本地地址后,接着就可以调用sendto和recvfrom函数来直接发送数据和接收数据了。在sendto函数里参数to直接指定了接收方的地址和端口号,而recvfrom函数里的参数from可以直接得到接收数据的来源。UDP最大的 阅读全文

posted @ 2014-03-21 15:50 wangyw 阅读(1391) 评论(0) 推荐(0) 编辑

WinCE下的串口通信开发(VS2005,VB.Net,VC++)
摘要:WinCE下的串口通信开发(VS2005,VB.Net,VC++)WinCE下的串口通信开发一、利用Visual Basic开发很简单,因为有现成的控件可以直接调用以VS2005为例,首先要从工具箱中找到SerialPort控件,将其拖到设计视图的下方,因为这些控件(包括定时控件Timer等)在运行的时候不会显示在视图中的。可以通过两种方法对串口进行配置,即点击控件的属性页码,在里面直接修改;也可以通过代码来配置成功,主要如下:IfVBSerial.IsOpenThenVBSerial.Close()EndIf'串口设置:9600-N-8-1WithVBSerial.PortName 阅读全文

posted @ 2014-03-21 15:48 wangyw 阅读(839) 评论(0) 推荐(0) 编辑

多线程CSerialPort类的多串口通信实现
摘要:RS-232串口通信的优点是硬件线路简单、灵活方便,以致在很多控制领域有广泛应用。本文对工业通信中广为流行的多线程CSerialPort类,剖析Windows环境下编程的多线程、以及同步/异步操作I/O通信端口等。针对实际应用中该类的缺陷和不便,从ASCII文本和二进制数据兼容、修改串口接收字符函数等方面对其进行必要改进。最后基于VS2010平台下,用改进后的CSerialPort类给出开发多串口通信程序的实例,对单个串口连接多个设备的问题,提出可用的解决方案。 阅读全文

posted @ 2014-03-21 15:46 wangyw 阅读(4520) 评论(0) 推荐(1) 编辑

双T滤波电路用于PWM方式DAC的分析
摘要:在实际的复杂过程控制应用中,经常需要高精度的模拟量输出,因此需要将PWM输出转换为平滑的直流输出。本文提出一种简单、实用的高精度转换与分析方法,对实际应用中的PWM(Pulse Width Modulation,脉冲宽度调制)波形进行傅里叶变换后,通过低通滤波器把PWM调制的数模转换信号解调出来,从而实现PWM到DAC(Digital to Analog Converter,数模转换器)的转换。对于典型的双T滤波电路,利用传递函数表达式,用经典控制理论中闭环主导极点的概念对其降阶并进行仿真,给出双T滤波能获取PWM信号的直流分量的数学分析方法,最后给出这种方式做DAC转换的速度和精度。 阅读全文

posted @ 2014-03-21 15:41 wangyw 阅读(1353) 评论(0) 推荐(0) 编辑

AD9516锁相环功能外接环路滤波器的设计与分析
摘要:根据AD公司提供的软件工具,对AD9516的锁相环功能,分析它的环路滤波器的传递函数,给出一种设计环路滤波器的参数依据。 阅读全文

posted @ 2014-03-21 15:34 wangyw 阅读(767) 评论(0) 推荐(0) 编辑

块结构中断有序化处理方法(一种单片机单线程方式下处理多中断的方法)
摘要:块结构中断有序化处理方法(一种单片机单线程方式下处理多中断的方法) 这几天看到部门的人在搞专利整合,忽然想起了自己最初接触专利申报时,导师也给分派了一个写专利的任务,当时完全按照模板,写的是一塌糊涂,将专利的写作看成了发表论文。下面就是自己当时的初稿,摘抄了很多内容,当然最后也没有申报。)块结构中断有序化处理方法摘要本发明涉及一种处理微控制器多中断系统的方法,其中断方法执行如下步骤:通过判断中断请求的类型,查询中断向量表,获取该中断请求对应的中断向量,并执行该中断向量所对应的中断服务程序。特别地,本发明是在确定系统所需要的中断源类型和数目以后,合理的安排各个中断的开启时间,即设置中断之间的.. 阅读全文

posted @ 2014-03-21 15:28 wangyw 阅读(649) 评论(0) 推荐(0) 编辑

STM32F10X固件库函数——串口清状态位函数分析
摘要:STM32F10X固件库函数——串口清状态位函数分析最近在测试串口热插拔功能的时候,意外发现STM32F10X的串口库函数中,清理串口状态位函数稍稍有点不解。下面是改函数的源码:/******************************************************************************** Function Name : USART_ClearFlag* Description : Clears the USARTx's pending flags.* Input : - USARTx: Select the USART or theU 阅读全文

posted @ 2014-03-20 18:28 wangyw 阅读(1715) 评论(0) 推荐(0) 编辑

STM32和STR71X移植uCos-II操作系统比较分析
摘要:本文以STM32F103ZE和STR710FZ2芯片为例,比较两者移植uCos-II操作系统的异同。主要从临界区的实现,多任务的实现(任务堆栈初始化、多任务调度的处理),时钟节拍,以及两者对中断的处理流程等方面来分析,进而分析ARM7、Cortex-M3内核之间的差异。 阅读全文

posted @ 2014-03-20 17:39 wangyw 阅读(1079) 评论(0) 推荐(0) 编辑

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

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

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

posted @ 2014-03-20 16:37 wangyw 阅读(2959) 评论(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 阅读(2474) 评论(0) 推荐(0) 编辑

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

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

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

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

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

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

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示