自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

unsv29的专栏

一个嵌入式软件工程师的流水账记录...

  • 博客(7)
  • 资源 (37)
  • 收藏
  • 关注

原创 bootloader与app区域代码重叠导致进入HardFault_Handler!

原先以为是堆栈溢出,后来发现是APP代码的起始地址竟然在bootloader代码区域之内。这样 可能把bootloader本身给擦写了。所以写入app之前检查要检查写入的地址范围。另外还有一点,在写app途中,假设bootloader频繁发生看门狗复位导致频繁写入app,那么片子不就挂了么?所以到底用不用加上看门狗复位呢?这个还要好好考虑。

2015-08-31 10:54:37 1638

原创 bootloader需要知道的 :HEX格式 + 如何理解分散加载

如何理解分散加载?怎么知道自己的函数是否真的分散加载成功了。就看那个map文件。就知道自己写的函数是否是真在ram中运行。对于HEX格式的校验网上有软件可以算校验值。Byte COUNT 字节个数 估计是可以换成别的值,比如0x20。这样做的目的可能是一次性写入较多字节。但这么弄总感觉有点没有必要。============================

2015-08-21 08:45:49 3119

原创 MDK下的RO-DATA,RW-DATA,ZI-DATA,

最近弄bootloader所以再次复习一下这个内存分配方面的东西,以前弄过,有段时间没弄,就生疏了。首先编译后在,下面会生成。然后在仔细看看MDK生成的map文件就差不多能把这个东西搞透了。首先下面生成的那个。这里面的概念和MAP里面的概念是不大一样的。在MAP里面,ZI-DATA也数目RW-DATA。所以下面讲的概念以MAP里面为准。RO-DATA,就是只

2015-08-19 09:52:02 813

转载 MDK如何生成bin文件?

keil中如何生成bin文件 (2013-09-18 20:03:32)转载▼ 分类: 研究生首先要说明一下.bin 文件和.hex文件的区别。.hex文件是单片机程序编辑完之后常见的文件格式,是内容是ASCLL码,也就是0x00-0xff的字符格式。比如'1'对应的是0x31。任何字符都是有对应的0xXX的ASCLL码。

2015-08-17 16:17:04 830

原创 STM32的bootloader注意啥

STM32的bootloader打算下个周就开始弄了。这个属于一种通用技能。。。。。早晚要弄的。。。。STM32的bootloader其实网上的资料非常多。但是稳定性方面,还是很重要的。一直不喜欢用bootloader,就是觉得很难做的稳定。如果极端不稳定,可能就悲剧了,把片子都搞坏。基本原理好弄,网上例子很多。关键是如何把bootloader打造成十分稳定的小强。因此你看了我

2015-08-14 20:27:52 1227

原创 C语言解释器LUA

网上的一篇文章《火星上发生的事情与Vxworks操作系统的优先级反转问题》写到“VxWorks带有一个C语言解释器,允许开发者在调试时输入C表达式或者函数并且可以随意执行。”可见解释器是很有用的。想写STM32弄些API给同事用,现在已经实现了。大家用的很happy。也正式弄了1个大批量的国外项目。应该是稳定的。但是给外厂家的人用,就不能 提供给他们C语言了。C语言太容易出问题

2015-08-11 16:03:43 1124

转载 火星上发生的事情与Vxworks操作系统的优先级反转问题

http://blog.chinaunix.net/uid-21736802-id-1817801.html火星上发生了什么2004-02-21 16:29     在勇气号和机遇号登陆火星并重新卷起一股火星热的时候,我找到这篇去年自己翻译的文章,看看当年的小插曲。From: Mike Jones mbj@MICROSOFT.com

2015-08-11 15:39:38 937 1

W5300勘误表.rar

W5300勘误表.rar

2023-09-18

STM32裸机版TCP客户端收发数据试验-基于lwip协议

这个例子讲的很清楚。

2023-08-10

STM32的TCP服务器收发数据试验

STM32的TCP服务器收发数据试验,用的LWIP协议,讲的比较清晰。

2023-08-10

STM32的lwip的TCP与RS485双向数据透明传输例子,是裸机的

感觉帮助不小,所以传上来。STM32的lwip的TCP与RS485双向数据透明传输例子,是裸机的。

2023-08-10

STM32F103 HAL入门

STM32F103 HAL入门

2023-03-05

CAN电路总结2.doc

CAN电路总结2.doc

2021-07-07

CAN电路总结.doc

CAN电路分析防浪涌静电等

2021-07-07

emqxKey-emqx配置的小例子

emqx配置的小例子

2021-03-11

startup_armv7-m.7z

Specifying stack and heap using the scatter file The ARM C library provides multiple implementations of the function __user_setup_stackheap(), and can select the correct one for you automatically from information given in a scatter file. To select the two region memory model, define two special execution regions in your scatter file named ARM_LIB_HEAP and ARM_LIB_STACK. Both regions have the EMPTY attribute. This causes the library to select the non-default implementation of __user_setup_stackheap() that uses the value of the symbols

2020-02-09

ARM系列处理器应用技术完全手册.pdf

最近研究ARM的底层 汇编 以及分散加载等知识,感觉这本书可以作为参考,分享给大家。。。。 希望给需要的人一点帮助吧 希望能用得上

2020-02-05

ARM V7 体系结构参考手册-英文.7z

ARMv7-M Architecture Reference Manual Copyright © 2006-2008, 2010 ARM Limited. All rights reserved. Release Information The following changes have been made to this document.

2020-02-05

从零开始使用CubeMX创建以太网工程.7z

在前面一篇文章中,介绍了如何使用 CubeMX来建立一个简单的 TCPEchoserver工程。但是在新建 CubeMX项目时,是通 过直接选择 ST的开发板的方式实现的。对于大多数实际的开发场景,可能并不是在 ST的开发板上进行的,所以在这篇文章 中,我将介绍如何从零开始建立一个以太网工程。 今年 ST推出的 Nucleo-144板子上集成了以太网接口

2020-02-05

周立功单片机:分散加载文件浅释.pdf

有时候用户希望将不同代码放在不同存储空间,也就是通过编译器生成的映像文件需要 包含多个域,每个域在加载和运行时可以有不同的地址。要生成这样的映像文件,必须通过 某种方式告知编译器相关的地址映射关系 2 基础知识 2.1 基本概念 要了解分散加载文件前首先需要对以下各个概念进行了解,可参考程序清单2.1。  Code:为程序代码部分;  RO-Data:表示程序定义的

2020-02-05

STM32简单工程-分析启动代码-最终为分析分散加载工程.7z

搞了一个STM32最简单的工程来分析启动代码,这是分析分散加载之前必要的做的。 文章https://blog.csdn.net/unsv29/article/details/104150330

2020-02-02

CAN总线位定时和同步的研究与设计.pdf

CAN总线位定时和同步的研究与设计.pdf 网上找的资料哈 感觉还行 不负责版权哈

2018-05-15

CAN-bus_网络拓扑结构和传输介质.pdf

CAN-bus_网络拓扑结构和传输介质 对传输介质进行介绍 网上找的 不负责版权哈

2018-05-15

stm32 自检程序

STM32 自检程序 自检作为启动前的重要准备工作 可以作为安全产品的参考资料

2018-05-15

VB6 串口双机 通信 mscomm

一个VB6的 mscomm 通信例子 有需要的可以看看 希望不会失望

2018-05-12

VB6 绘制曲线

找了好久 分享一个不错的资源 需要的可以试试看 希望不会失望

2018-05-12

VB6 自动缩放窗体内控件

VB6 自动缩放窗体内控件 这个我在网上找了好久 终于找到一个不错的 分享出来

2018-05-12

micropython-1.3.6 源代码

MicroPython - a lean and efficient Python implementation for microcontrollers and constrained systems

2017-11-12

micropython-1.2.zip源代码

MicroPython - a lean and efficient Python implementation for microcontrollers and constrained systems 含有STM32等例子

2017-11-12

基于RT-Thread的 STM32F103的FPT服务器 源码

找了好久才找的 stm32的FTP简单例子,注释清晰,感觉是比较好的例子。 可以作为FTP入门。

2017-10-25

Python网络数据采集英文 完整清晰版

python应用范围很广。 Python的定位是“优雅”、“明确”、“简单”,所以Python程序看上去总是简单易懂,初学者学Python,不但入门容易,而且将来深入下去,可以编写那些非常非常复杂的程序。 这里提供高清完整PDF版本。

2017-10-25

STM32源程序大全

STM32F 源程序 简单例子 里面有30个例子。 对初学者肯定有帮助。 注释很清晰哦~

2017-10-22

STM32F4 I2C通信例子 例程

简洁清晰的例程: /*********************************************************************** º¯ÊýÃû³Æ£ºI2C_Test(void) ¹¦ ÄÜ£º²âÊÔEEPROM ÊäÈë²ÎÊý£º Êä³ö²ÎÊý£º ±àдʱ¼ä£º2012.11.22 ±à д ÈË£º ×¢ Ò⣺ÏÈÏòEEPROMдָ¶¨Êý¾Ý£¬È»ºóÔÙ¶Á³öÀ´£¬×îºóͨ¹ýRS232·¢Ë͵½µçÄÔÉÏ£¬ ÒÔÑéÖ¤¶ÁдÊÇ·ñÕýÈ· ***********************************************************************/ void I2C_Test(void) { unsigned int i = 0; unsigned char WriteBuffer[256]; unsigned char ReadBuffer[256]; for(i = 0;i < 256;i ++)//³õʼ»¯´ýдÊý¾ÝÇø { WriteBuffer[i] = i; } I2C_Write(I2C1,ADDR_24LC02,0,WriteBuffer,sizeof(WriteBuffer)); //ÏòEEPROMдÊý¾Ý I2C_Read(I2C1,ADDR_24LC02,0,ReadBuffer,sizeof(WriteBuffer)); //ÏòEEPROM¶ÁÊý¾Ý RS232_Send_Data(ReadBuffer,256); //ͨRS232½«¶Áµ½µÄÊý¾Ý·¢³öÈ¥ }

2017-10-22

STM32F4 的CAN1 CAN2 双CAN收发例子

最简单清晰的例子,主架构如下: int main(void) { /* ST固件库中的启动文件已经执行了 SystemInit() 函数,该函数在 system_stm32f4xx.c 文件,主要功能是 配置CPU系统的时钟,内部Flash访问时序,配置FSMC用于外部SRAM等。 */ NVIC_Configuration(); CAN1_Configuration(); CAN2_Configuration(); while(1) { if(can1_rec_flag == 1) //如果CAN1接收到了一帧数据 { can1_rec_flag = 0; CAN1_WriteData(0x18412345); //以ID为 0x18412345向CAN上发送数据 } if(can2_rec_flag == 1) //如果CAN1接收到了一帧数据 { can2_rec_flag = 0; CAN2_WriteData(0x18412345); //以ID为 0x18412345向CAN上发送数据 } } }

2017-10-22

STM32F4 的16通道ADC采集例程

STM32F4 的16通道ADC采集例程,注释清晰, /**************************************************************************** PCLK2 = HCLK / 2 下面选择的是2分频 ADCCLK = PCLK2 /8 = HCLK / 8 = 168 / 8 = 21M ADC采样频率: Sampling Time + Conversion Time = 480 + 12 cycles = 492cyc Conversion Time = 21MHz / 492cyc = 42.6ksps. *****************************************************************************/ /* ADC Common 配置 ----------------------------------------------------------*/ ADC_CommonInitStructure.ADC_Mode = ADC_Mode_Independent; ADC_CommonInitStructure.ADC_Prescaler = ADC_Prescaler_Div2; ADC_CommonInitStructure.ADC_DMAAccessMode = ADC_DMAAccessMode_Disabled; ADC_CommonInitStructure.ADC_TwoSamplingDelay = ADC_TwoSamplingDelay_5Cycles; ADC_CommonInit(&ADC;_CommonInitStructure);

2017-10-22

RTX_STM32F1 +os

网上搜到的资源 还可以 分享出来

2016-03-11

uCOS-II-V2.91 MDK STM32

uCOS-II-V2.91 是个很稳定的代码。用于SMT32的开发。获得相关认证。

2016-03-11

STM32F+ RT-Thread工程源码实验

STM32F+ RT-Thread工程源码实验 经验证可以连续稳定运行,希望物有所值,贡献出来

2016-03-11

CooCox STM32 OS

CooCox STM32 OS 适合于入门人员 解释较为详细

2016-03-11

rtx_stm32_mdk

rtx_stm32_mdk, 适用于STM32芯片, 属于入门资料,可通过软仿真运行起来。增强开发者的信心

2016-03-11

基于Lua脚本语言的嵌入式UART通信方案设计

基于Lua脚本语言的嵌入式UART通信方案设计

2016-01-22

Keil的关键字using与寄存器组的切换

早年学习单片机的时候,自己总结的using关键字的应用。现在尽管编程用不到这个关键字,但是了解一下还是很有好处的

2016-01-21

LUA基础教程

这本书的第六章名字叫做“脚本,用还是不用” 讲述了脚本的使用的意义? 脚本的简单实例 脚本的堆栈 总之是重要而基础的知识。 很有价值 国外作者不糊弄

2015-12-02

CANopen协议栈源代码和说明文件

MODULE: MAIN - canopen Encoder CONTAINS: CANopen encoder implementation COPYRIGHT: Embedded Systems Academy, Inc. 2003. All rights reserved. www.canopen.com This software was written in accordance to the guidelines at www.esacademy.com/software/softwarestyleguide.pdf DISCLAIM: Read and understand our disclaimer before using this code! www.esacademy.com/disclaim.htm LICENSE: Users that have purchased a license for PCANopenMagic may use this code in commercial projects. Otherwise only educational use is acceptable. VERSION: 1.00, Pf/Aa/Ck 28-MAY-03

2012-11-30

CAN错误计数规则

CAN2.0B(Active)规范的错误计数器的计数规则 CAN 控制器错误处理 各种CAN错误帧的描述 CAN错误帧界定

2012-01-05

LCD12864 源码 和 仿真proteus(本人原创)

/************************ 作者:Steven Lian 完成时间:2009Feb24 程序功能: 见Proteus仿真效果 程序说明:本程序在仿真软件Proteus上通过! 若要在实际硬件上运行,部分参数可能要修改! *******************************/ /* -------------------------------------------- 作者邮箱:lch_29@163.com QQ:33002609 如若对本工程进行转发,请勿对本程序进行任何的修改! 多谢尊重本人劳动成果............. 声明:由于作者早期学单片机水平特别有限,因此本程序很多地方处理可能不够合理。 如阅读本程序对您造成心情不愉快,本作者不负任何法律或民事责任。 本程序作者允许将本程序用于商业以外的目的。特别是对初学者建立学习的信心之用!!!!! 如若对本工程进行转发,请勿对本程序进行任何的修改,否则就是侵犯了作者的知识产权!! 请在阅读本程序24小时之内将本程序删除,保护作者的版权............................. ----------------- 2011.MAY.05.19 */

2011-06-08

51波特率初值计算----------让你计算不出错

51波特率初值计算 用于计算波特率 很方便 关键是自己算可能算错啊

2010-04-12

空空如也

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

TA关注的人

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