自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 资源 (5)
  • 收藏
  • 关注

原创 RT_Thread 入门——nano core及finsh移植

RT_Thread入门——nanocore及finsh移植我用的是基于STM32的CubeMX之上的移植。其实大部分在RT-Thread官网的文档中心上有,详见使用 CubeMX 移植 - RT-Thread 文档中心那上面已经很详细,我就不多说。我想说的有两点,主要是finsh组件添加时发现的问题。第一是控制台信息的输出,按照文档中心的步骤配置好串口后,并未在启动时输出RT-thread的版本信息。我试了串口是好的,使用语句输出可以输出字符,但是启动时本应自动打印的版本信息并未出现,我查了..

2021-04-22 17:52:03 180

原创 关于几种新版的stm32CubeMX 配合IAR7.x编译时出错的问题。

STM32CubeMX更新很频繁,不确定从哪一个版本起,它生成的IAR7.x的代码直接编译会出现错误,大致有几种。一、如果MCU配置的是STM32F3XX,那么需要在IAR工程的Option中确认一下是否有正确的配置了MCU的型号,反正我用的5.X版本的CubeMX生成的工程打开后Device都是None,就没有对过这种情况下编译必然是错误,一堆乱七八糟的错误。需要手动的把这一项设置为对应的MCU后才有可能编译通过。二、几乎也是必出的错误,上一步设置了正确的型号后,再编译还是会有一堆错误,大

2020-07-02 11:01:45 1858 1

原创 stm32 MCU 如何将变量定义在rom中固定的位置

这个需求看起来挺奇怪的,但其实很常用,比如用来记录固件的名称和版本。通常的做法是生成bin文件后通过一些工具将固件信息附加在bin文件的末尾,供下载工具下载时进行比对,防止更新了旧的或者不对应的固件。此种方法需要在固件bin文件生成后再二次加入,存在出错的风险。比如固件内部是版本为A2,但是外部写的是A1。其实在版本号已经存放在固件内部某一个常量或者变量中了,只是这个常量的位置并不固定,每次编译都有可能变化,所以没法直接从固件中读出,如果能将这些信息固定在bin文件中的某一个位置,那么就可以直接将版...

2020-06-30 14:42:56 4578 1

原创 关于使用IDLE中断与DMA实现USART不定长字符接收的问题。

之前做过一个多串口转发的东西,MCU用的STM32F407,串口每次接收到的字符长度不定。通常的办法是使用RX中断,接到了个字符便转发一个字符。但是这有个缺点,每字符都中断会影响系统的性能,而且这种方式并不能分开每个字符串,如果是带格式的字符串,接收者无法对每一个字符串进行解析。另外一种方式就是使用DMA+IDLE中断的方式,通过DMA接收数据,通过IDLE中断来确定收到一个完整的字串。这也算是一个比较成熟的方式了,网上有很多相关资料。通常的流程是先使能IDLE中断,使能并启动DMA接收,当IDLE

2020-05-27 18:09:25 387

原创 SW4STM32生成.bin文件的方法

用SW4STM32默认情况下生成的是elf格式的文件,与其它的IDE不同,如果想要生成.bin文件或者.hex文件,需要修改一下eclipse的设置,如下图所示。该方法来源于ST的一个文档,同样附在这里,作为参考https://files.cnblogs.com/files/yexiaopeng/05_SW4STM32-tips-and-tricks.pdf...

2020-03-14 22:58:47 543

转载 直接进入TIVA系列MCU存在ROM中的bootloader的三种方法(转载)

网上查到的直接进入TIVA系列MCU存在ROM中的bootloader的三种方法,记录一下。使用 TM4C ROM bootloader 的三種方式:Flash Empty當 MCU Flash Address 0x00000004 內容值是 0xFFFFFFFF會直接進入 HW ROM Boootloader (Power ON or RESET)也就是說MCU 內是沒燒入程式或...

2019-12-07 19:52:43 684

原创 TIVA TM4C1294XL 官方bootloader例程测试方法(网口更新部分)

可能是我太笨吧,摸索了好几天,看了很长时间的代码,才懂得如何将官方的例程玩起来。。TIVA软件的example目录下有两个例程,一个是boot_emac_flash,一个是boot_demo_emac_flash,前者是bootloader,后者是下载的示范例程。此外与串口下载一样,需要LMFlashProgram这个应用程序。首先下载自然需要知道目标板的IP地址。boot_emac_...

2019-12-05 18:25:50 1148 2

原创 TIVA TM4C1294XL 官方bootloader例程测试方法(串口更新部分)

最近的项目用到Ti的TM4C1294,头一次调TI的M4,在调试bootloader的卡住了,主要是官方例程中的bootloader不知道要如何使用。官网上有bootloader的document。但是只是写的了原理和用到的函数说明,并没有对于官方例程的使用有说明。我在网上找了挺久,有零星的人问使用的问题,但是并没有对应的回答,也无后续。没办法,只能自己啃代码。。。。首先官方例程中有给出相关的...

2019-11-29 17:36:45 1644 3

原创 STM32CubeMX配合IAR7.4的STM32F429的工程编译出错的问题

CubeMX直接生成的默认工程在IAR7.4下编译出错,首个出错位置在mpu_armV7.h中,定位在函数名__STATIC_INLINE void orderedCpy(volatile uint32_t* dst, const uint32_t* __RESTRICT src, uint32_t len){ uint32_t i; for (i = 0U; i < len;...

2019-05-13 11:26:50 1833 1

转载 .sw4stm32环境下如何添加printf支持

windows使用sw4stm32环境下下遇到过重定向完成后printf没有输出的问题,网上的解决方式是添加syscalls.c。现记录备忘,新版的cubemx好像已经自动添加了syscalls.c以下为转 载:首先在安装目录下找到syscalls.c文件,将该文件放到工程的src文件下;然后需要使用串口的发送函数,编写下面的接口函数:void __io_putchar(uint8_t...

2019-05-12 16:03:32 488

原创 用IAR下载出现 Stack pointer is setup to incorrect alignment. Stack addr = 0xFFFFFFFF 如何解决?

今天调试别的人的工程出现这个问题,我按网上的方法修改了两处地方,修改了第二处之后就好了,不确定第一处有没有起作用。第一处.工程生成的程序输出 .out 文件,不包含调试信息和地址信息,需要生成 .hex 文件解决方法将 .out 换成 .hex,保存 Rebuild all ,确认工程文件夹中生成了 .hex 文件,重新改回 .out, 重新进行 Debug,不再出现warning...

2019-03-06 14:18:23 4651

原创 DPInst中关于删除的说明

DPInst本身是不可以卸载设备的,它只可以卸载安装包,不能将设备节点从设备管理器中删除。在XP中,可以通过/d选项将inf文件中所拷贝的二进制文件删除掉,但是在Windows7中,会乎略掉这个选项,因此执行dpinst不会卸掉设备。需要通过脚本将涉及的二进制文件手动删除。删除设备节点,微软建议使用SetupAPI来进行。详细内容可以参考以下文档http://msdn.microsof

2013-07-04 16:27:22 1281

原创 真彩转256色

准备一个长度为4096的数组,代表4096种颜色。对图中的每一个象素,取R、G、B的最高四位,拼成一个12位的整数,对应的数组元素加1。全部统计完后,就得到了这4096种颜色的使用频率。其中,可能有一些颜色一次也没用到,即对应的数组元素为零(假设不为零的数组元素共有PalCounts个)。将这些为零的数组元素清除出去,使得前PalCounts个元素都不为零。将这PalCounts个数按从大到小的顺

2007-04-26 16:35:00 1218

原创 由数组数据创建一个灰度位图并保存

 如题,数组为字节型,每元素大小为灰度值。关键是调色版的创建与填充void CCustemCtrl3Dlg::OnButton2() { #define WIDTHBYTES(bits)    (((bits) + 31) / 32 * 4) // TODO: Add your control notification handler code here int i,j; BYTE* m_

2007-04-13 14:13:00 1668 2

MultiUART_F4_2.7z

stm32f407通过DMA+IDLE中断接收不定长字串,添加等待防止字串过长时偶发被截断的问题。IAR工程。实测通过

2020-05-27

JLink_Windows_V662c.7z

最新版的J-Flash工具,包含J-link驱动。官网下载很奇葩,速度在50以下经常中断并且不支持断点续传,费了九牛二虎之力总算下来了,给大家个捷径吧,免于官网下载的折磨。

2020-02-24

m-bus水表通信协议文档

188水表通信的协议,有例子。m-bus转RS485,规约文档,实际数据分析

2019-03-01

手把手教你学DSP--TMS320F28335

扫描版,全书454页完整版,带书签,虽是扫描版但足够清晰,不影响阅读

2018-09-26

热电阻阻值温度互换工具

不用查表了,可以方便的进行热电阻阻值与温度的互相转换,支持PT100(385/392),PT1000(385/392),BACLO_500,NI518。为公司写的测试工具,源码可以站短索取

2018-09-26

空空如也

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

TA关注的人

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