Tag Archives: stm32

an inconceivable bug of STM32CubeMX….

The default value of Heap and Stack in STM32CubeMX is 0x200 bytes Heap and 0x400 bytes Stack. Which is work fine in most situation. BUT the middleware of USBStack use malloc! for TX and RX buffer!!! That will make the … Continue reading

Posted in Memo | Tagged , , , , | Comments Off on an inconceivable bug of STM32CubeMX….

STM32F103 marking summary

This is collection I got. and compare with PCN-8363-2014.03.31.pdf PCN-8390-2014.05.07.pdf PCN-9484-2015.12.17.pdf PCN-9511-2016.04.22.pdf PCN-9685-2016.04.19.pdf

Assembly Plant

Country of Origin

Manufactured date The problem is, howto identify 2003 or 2013?

Interconnect

Chip revision

Posted in Memo | Tagged , , , , | Comments Off on STM32F103 marking summary

Opensource gpjtag adapter

I finished gpjtag on Aug 2016, so it is time to opensource. http://github.com/buaabyl/gpjtag_stm32

Posted in General Jtag | Tagged , , , | Comments Off on Opensource gpjtag adapter

发现STM32的SPI2有问题(invalid)

最近需要用到SPI1和SPI2协同工作,想弄个2位的SPI通信: 硬件的接线如下: SPI1.SCK -> DEV.SCK SPI1.SCK -> SPI2.SCK SPI1.MOSI -> DEV.MOSI[0] SPI1.MISO < - DEV.MISO[0] SPI2.MISO -> DEV.MOSI[1] SPI2.MOSI < - DEV.MISO[1] 将SPI1设置为Master方式,将SPI2设置为Slave。 设置为CPOL=0,CPHA=0(就是不传输的时候时钟是低电平,上升沿采样,下降沿更新数据)。 具体的配置就不贴了,在stm32fwlib的例子里面有。 注意:官方和网上能用的配置都是SPI1是Slave、SPI2为Master!接下来会说。

Posted in Memo | Tagged , , , , , , | 1 Comment

《通用Jtag下载器》STM32的Flash下载方式思考

最近通过Jtag给STM32下载代码,还行,就是慢啊,那个慢…… 因为是通过给ARM核心指令,然后再单步,操作DBUS,然后写入新的代码,重复。 而写Flash的一个byte需要几次,这么一来,通过Jtag传输的效率极其低下(还得判断是否写完了)。 然后就发现jlink有个功能:ramcode。说起来就是先写一段falsh烧写程序到内部的ram,然后传送64bytes到接着的ram空间,然后让PC跳转到这个程序执行。

Posted in General Jtag | Tagged , , , , | Comments Off on 《通用Jtag下载器》STM32的Flash下载方式思考

GNU Tools for ARM Embedded Processors 4.7 newlib-nano

一直以来newlib是嵌入式中比较好的一个基础库,不过一旦用上printf就一下变得臃肿了。GNU Tools for ARM Embedded Processors这个项目开发了一个nano版的newlib。 回头把FreeRTOS的工具链换成这个试试。 简单试了一下,的确有减少,减少了33Kb。 你说不就33Kb嘛,这个可是在嵌入式啊,33Kb很多了!!!:

Posted in Memo | Tagged , , , , | Comments Off on GNU Tools for ARM Embedded Processors 4.7 newlib-nano

FreeRTOS On STM32 – 自己写个linux风格的串口api

尝试移植uC/OS-II到stm32f103c8小板上一直不成功,还是先用freertos完成想做的东西再说,但是他的api实在是受不了…… 那么就自己在stm32的library和freertos的api之上写个linux-posix风格的api吧,等弄完了之后再从freertos的底层优化,也把stm32的库优化。

Posted in FreeRTOS On STM32 | Tagged , , , , , , , | 3 Comments

FreeRTOS On STM32 – 在stm32f103c8t6上移植freertos

最近看了看Freertos,首先说一下Freertos的Demo做的很多,直接找到CORTEX_STM32F103_Keil,将STM32的芯片型号改为C8,将Flash改为Med-Density,然后重新编译就可以在我的板子上跑起来了,只是——FreeRTOS的编码风格太难受了,匈牙利编码——不适应。   用惯了rtems和linux,真的很不喜欢FreeRTOS的API风格,看着就想吐,虽然FreeRTOS挺好的,纠结,考虑是否要继续学FreeRTOS…… — This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License

Posted in FreeRTOS On STM32 | Tagged , , , , | Comments Off on FreeRTOS On STM32 – 在stm32f103c8t6上移植freertos