本帖最后由 丿灬幸灬 于 2018-11-5 10:24 编辑
描述 我意识到我只是将emacs作为IDE使用的人群中的一员。我决定用SystemWorkbench一段时间。有很多事情需要处理,我的笔记可能会对你有所帮助。 细节 基于对之前的评论,我决定使用SystemWorkbench。 使用CDC USB串行口的提示 当您将USB CDC串行总线添加到您的项目中,您不会得到关于下一步做什么的帮助。CDC_Transmit_FS调用非常明显。给它一个消息和一个长度,它就会发送它。很好。 不过是通过名为CDC_Receive_FS的回调函数接收。你不会把它叫做。框架为您调用它。 这是我的版本:
这是其中一个头文件:
然后你也需要一种方法把它读出来
使Semihosted Printf 如果您不希望printf转到串行端口,那么您可能希望将它重定向到gdb控制台(在Eclipse内部)。 1、添加到链接器选项:
2、在调试配置中,找到运行命令并添加:
3、在你的main()中,提前(在调用printf之前)进行此调用:
重新目标Printf到UART 1、确保你有足够的堆栈!如果您没有在项目生成时设置它,请将其修复到.ld文件中(并确保也将其修复到CubeMX项目中,以防重新生成。 2、另外,使用IDE而不是CubeMX创建一个虚拟项目。偷的系统调用。c文件从那个项目,并把它放在你的项目。 3、显然,您需要在CubeMX中设置UART。 4、添加:
笔记 1、STM32系统工作台 2、从ST网站安装CubeMX到Eclipse。 3、这块黑板必须有ST-Link 2或2-1。尽管其他工具可以处理,但ST-Link 1似乎无法工作。 4、如果使用PLL时钟,CubeMX有一个错误。在SystemClock_Config中,代码行应该是这样的:RCC_OscInitStruct。OscillatorType = RCC_OSCILLATORTYPE_HSE; 5、OpenOCD的设置是硬连接到.custom中的。当您创建配置时,cfg在您的项目目录中。所以如果你改变了什么,看起来你必须删除或编辑那个文件。 6、重要提示:除非您更改openOCD配置以使用:reset_config trst_only,否则调试器将无法工作。默认值不会工作。 7、如果为引导加载设置了引导跳线,调试就会正常工作。但是,您将得到引导装载程序堆栈指针,它是一个非常小的堆栈,可能会覆盖您的C库数据。这会导致奇怪和不可预知的行为。 8、如果您安装了eGit,就会得到Git集成。 9、如果您安装了TM终端,您可以在IDE中有一个终端。它应该支持串行,但在Ubuntu上,RXTX配置被处理。我没有修复它,而是运行一个shell终端并在其中运行picocom。工作很好。 原文请见hackaday |
STM32
超强工具——STM32CubeMX 你会用吗?
集结出发! STM32全国研讨会系列之一:ST智能门铃中国首秀
关于STM32启动文件的几个小问题
【银杏科技ARM+FPGA双核心应用】STM32H7系列35——USB_VCP_FS
【银杏科技ARM+FPGA双核心应用】STM32H7系列28——USB_HID
粉丝分享 | 图说CRC原理应用及STM32硬件CRC外设
STM32L151进入低功耗,并由RTC唤醒的故事
[转]stm32控制NFC模块(PN532)源码(P2P,模拟卡,读写卡等
STM32G070RB+LVGL移植
微信公众号
手机版
能不能麻烦您不要发布不带来源链接的机器翻译文章了?这既是对读者的不尊重,也是对作者著作权的侵犯。版主是不是可以警告此人?