11 LostSpeed

尚未进行身份认证

c++ coder

等级
TA的排名 652

lwip-2.1.2的裸机移植(STM32F1 + SPL库 + lwip-2.1.2 + ENC28J60)

试验原因产品板子上用的LWIP版本较旧2,这次准备换成现在官方最新的lwip-2.1.2.想重新作lwip移植的原因 : 产品板子有bug与lwip相关,应该是以前程序移植的lwip有问题(配置和使用lwip).正好这次放长假, 仔细研究一下lwip的移植, 配置,使用,调试。lwip中带调试日志,可以通过ITM打印到MDK的调试窗口或用串口打印到PC端的串口助手上, 这样再遇到lwip使...

2020-02-23 14:30:47

STM32F10x_StdPeriph_Template

试验原因已经做完了LWIP在STM32F103上的裸机移植试验,再作下一步试验之前,总结一下。LWIP裸机移植需要一个试验模板。我并不想使用官方的模板或第三方的模板,自己移植一个干净的SPL库模板出来。看第三方的教程,他告诉你步骤,但是为啥这么移植,你是看不到的。他为啥那么移植,一定是他也先看了官方的模板和工程, 才知道怎么移植。所以,最新鲜的资料是官方的模板工程。官方STM32F1...

2020-02-22 17:24:52

stm32f10x.h(388): error: #67: expected a "}"

试验原因在MDK中选的MCU类型如果和options => c/c++ => Define那填写的STM32F10X_XX宏不匹配, 就会出现如下提示.Rebuild started: Project: my_stm32f1_SPL_template*** Using Compiler 'V5.06 update 6 (build 750)', folder: 'C:\Keil_...

2020-02-18 15:31:46

MDK3的JLINK设置

试验原因手头的一块LWIP开发板网口通讯不zheng’c

2020-02-16 16:01:47

vs2017 和 MDK5 查看源文件的预处理

试验原因宏起到字符或字符串替换的功能,方便生成一些重复性有规律的代码。有时要写个奇怪的宏, 如果没有一次写成功, 要查看为啥失败,这时,需要查看源文件的预处理结果。设置只针对要查看预处理结果的文件编译(不是编译整个工程)编译完后,在工程文件目录下或Debug目录下,会生成一个同名的.i文件。e.g. 要编译的文件为ConsoleApplication1.cpp,那么生成完,找Con...

2020-02-14 17:20:51

lwip-2.1.2 sys_arch.txt was deleted

前言在看LWIP的书,看到移植说明是在 /doc/sys_arch.txt中.去找当前最新的稳定版 lwip-2.1.2, 用SI搜索,没看到sys_arch.txt.去查lwip的git库记录,发现sys_arch.txt已经转移到lwip工程的doxygen注释中了,这对新手真不友好。...

2020-02-13 16:13:52

RE JLinkARM.dll

前言年假还没休完,老大就布置任务了…去解决年前产品上的bug, 先去彻底理解LWIP工程。手头有个以前备好的LWIP开发板, 先接好上电。手头的JLINK好几个,随便抓了一个。MDK中调试选项中检测是JLINK V8.不过弹出了一个JLINK授权警告,没办法和MDK配在一起调试板子。本地安装的JLINK组件是J-Flash V6.46g.本来可以再换一个JLINKV9或V10或ST...

2020-02-11 19:59:39

STM32H743I-EVAL2_get_mcu_info

前言再看官方资料,看到说能取MCU信息,去HAL库中翻了翻,真有。看另外一份资料时,那个作者说他推荐用STM32CubeIDE, 说用的感觉不错。我也试试。既然换了IDE, 那ITM打印在CubeIDE中怎么弄,也试试。试验如果已经用CubeMX + MDK做过试验了,那先起CubeMX生成CubeIDE工程是不成功的。先开CubeIDE, 选择新STM32工程, CubeMX已经嵌入...

2020-02-11 01:11:36

Chrome79+设置是否允许Flash播放

前言现在装的Chrome是v79, 刚升级到v80.有的网站的播放源还是Flash格式的,Chrome只显示已经禁止Flash, 以前不知道在哪设置。还以为新版已经完全抛弃Flash了呢。以前,在这个点,我就换IE去看Flash的视频。不过用IE看,有时有很多广告。刚才在看一段网上视频时,有提示可以设置Flash,跟过去看Chrome设置选项,原来还是可以设置的。试验...

2020-02-08 23:37:20

STM32H743I-EVAL2_I2C_EEPROM_fast_mode_plus

前言看I2Cdemo之前,想起下游厂商的板子,用的都是GPIO模拟的I2C. 先去查下资料,看看为啥不用硬件I2C.资料上说,官方资料说,用硬件I2C是,优先级必须高,最好用DMA操作I2C.看了官方提供的I2Cdemo, 一个2个,其中一个是低功耗唤醒的,剩下一个是I2C_EEPROM_fast_mode_plus, 确实是用DMA做的。再看细节之前,习惯性的去试试效果。结果跑不起来。...

2020-02-07 20:27:28

STM32H743和STM32F407的LQFP100的封装比较

前言突然想到能不能将板子上F407的LQFP100封装直接换成H743呢?去比较了一下数据表上的pinout, 发现不行,左下方开始到下边的引脚都错开了。如果因为已有的硬件板子接口定型了,如果想使用更大的内存(192KB => 1024KB), 最简单的方法还是将F407LQFP100封装换成H743LQFP100, 但是原理图和硬件版图要稍加修改。直接用是不行的。试验绿色是兼容的...

2020-02-06 14:40:11

STM32H743I-EVAL2_RNG_MultiRNG

前言看了官方demo RNG_MultiRNG.这个demo演示产生真随机数。试验CubeMX配置比其他demo多了打开RNG配置的操作。用CubeMX生成框架代码。随机数初始化框架生成好了,调用 HAL_RNG_Init()使用时,调用HAL_RNG_GenerateRandomNumber()运行效果 // run result /* >&gt...

2020-02-06 12:18:22

STM32H743I-EVAL2_UART_HyperTerminal

前言再看H743官方板子的剩下的串口HAL库demo.优先级高的就剩下DMA方式收发数据的 UART_HyperTerminal_DMA 工程。UART_HyperTerminal_DMA 和 UART_HyperTerminal_IT 区别不大(串口和DMA操作绑定,串口操作是DMA后缀的),都是收发定长数据(一看就倒胃口了),没大用.因为已经将官方串口demo都过了一遍了,还没找到怎么...

2020-02-05 20:18:52

STM32H743I-EVAL2_UART_HyperTerminal_IT

前言在看剩下的官方串口demo.有2个是用串口唤醒MCU的,暂时用不上,排后面。剩下2个。一个是串口DMA收发数据。一个是串口中断方式收发数据。先看这个。看完HyperTerminal_IT demo后,挺失望的,这个demo只能收发定长数据。在实际场景中,发送是可以定长的。但是接收,不可能是定长的(要是对方没回答或预期负责回包的设备没接入,至少有个接收超时的机制,要不怎么往下玩)...

2020-02-04 22:43:46

STM32H743I-EVAL2_UART_Printf

前言本来在看H743官方板子的TIM demo 工程,突然发现暂时用不上PWM的功能,优先级降低,后面有时间再看。现在转过来,看串口的demo.看完了UART_Printf.这个demo主要讲如何初始化串口,将printf重定向到串口输出。用CubeMX生成的串口1引脚不是官方板子的串口1引脚,需要改成官方板子的串口1引脚定义。另外串口的设置的字宽是(数据位+停止位)的长度. e.g....

2020-02-03 21:56:37

STM32H743I-EVAL2_DMAMUX_RequestGen

前言看完了STM32H743的官方demo DMAMUX_RequestGen这个demo看了好几天(查资料, 补充外围知识).这个demo展示的知识点是:用DMA产生器将PA0(EXTI0)和DMA操作(从内存到GPIO ODR的数据拷贝操作)绑定在一起,实现 当按下PA0时,由硬件自己将GPIO ODR(LED接在PF10上)赋值,实现LED的翻转(亮/灭)。试验CubeMx配置R...

2020-02-03 12:48:27

STM32CubeMx: How to add your own “USER CODE BEGIN / END” section?

前言看到STM32CubeMX中没有考虑所有用户代码区标记。如果自己在官方规定的用户代码区外添加代码,当使用CubeMX重新生成代码时,会将自己手写的代码清掉。我自己想的方法是, 使用CubeMX前,备份工程,使用CubeMX后,用BC4合并代码到新工程。不过,一直再想,ST官方做的软件不可能这么寒蝉吧? 是不是有官方的方法可以添加自定义的用户代码区呢?今天查资料,看到这方面的确切资料。...

2020-02-02 14:37:47

STM32H743I-EVAL2_DMA_FLASHToRAM

前言再看官方板子的DMA demo的第2个例程。和 STM32H743I-EVAL2_DMA_FIFOMode 并无不同,就是 DMA_Config 参数配置稍有不同,还是从内存到内存的DMA拷贝操作。不明白ST官方为啥要提供这个demo.和 STM32H743I-EVAL2_DMA_FIFOMode 一样,当DMA操作完成时,调用 SCB_InvalidateDCache() 会引起MC...

2020-01-31 11:10:08

STM32H743I-EVAL2_DMA_FIFOMode

前言今天在看H743官方板子的 DMA_FIFOMode demo这个demo,讲的知识点是 : 从代码区固定数组中传送内容到内存(相当于从内存到内存拷贝)。代码量不大,很快看完。但是自己重建工程后,DMA数据总是发送失败. 找了大半天。确认完不是代码写的有问题后,去找工程设置上的问题。才发现,要在MDK的设置中选中RAM2区。试验CubeMx的设置从MCU选择器开始,选在S...

2020-01-30 20:36:17

STM32H743I-EVAL2_ITM

前言做了官方板子前几个试验后,现在想找找,怎么打印调试信息(用ITM).用SI将demo全部包进来,找了一圈,并没有使用ITM的demo.这太扯了, 这么重要的功能咋不整个demo给用户呢…去google STM32H7 && ITM,找到一些资料。但是有几个帖子说,H7设置了ITM, 用printf打出不东西。那自己试试吧.试验成功贴图试验记录在H743的固件库...

2020-01-29 19:29:03

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv3
    勤写标兵Lv3
    授予每个自然周发布7篇到8篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。