完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
大家好,
我有Olimex STM32-P103 bord,它有STM32F103RBT6 micro。一世 从他们提供的示例代码中刷新虚拟COM端口DEMO .hex文件。在Olimex的一些技术支持下,Windows 7虚拟COM端口驱动程序正在运行。但该示例使用非常旧的版本(v1.0)库。我想使用FreeRTOS来实现我的应用程序。我还需要DFU支持。 我也有STEVAL-MKI062V2 http://www.st.com/internet/evalboard/product/250367.jsp 用micro STM32F103RET7。 ST为IAR Embedded工作台提供了固件项目源。支持。我想利用这段代码使STM32-P103板通过虚拟COM端口与DFU支持进行通信。我正在使用+++。 我创建了项目,配置&编写了Olimex板。但是在COM端口上无法识别该板。 当我调试&看,调试器卡在代码中显示的while循环中。这意味着USB相关的东西是错误的(我猜时钟配置和驱动程序相关)。 在调整Olimex板的iNEMO v2代码时,我做了以下操作。 1.创建了一个项目&将其配置为适合链接器选项配置文件中的中密度设备。还修改了Startup_stm32f10xmd.s文件以适应FreeRTOS环境,如下所示: 2.配置DISC,按钮&状态LED Olimex板的引脚,适合USB和USB的iNEMO板DISCONNECT引脚按钮,状态LED按钮。其余的iNEMO代码已被注释掉。 3.我没有更改与USB相关的描述符。 我不知道我哪里错了。我很确定我的问题与...有关。 。如何使用该文件夹,以便计算机可以识别Olimex板。 我从Olimex的虚拟com端口示例中处理版本文件。它使用旧库。这个文件在板上是否相同? 我在这里更清楚地描述了这个问题:http://harinadha.wordpress.com/2012/05/03/olimex-stm32-p103/ #u*** #virtual-com-port #dfu 以上来自于谷歌翻译 以下为原文 Hello everyone, I have Olimex STM32-P103 bord which has STM32F103RBT6 micro. I flashed Virtual com port DEMO .hex file from the example code they provided. With some technical support from Olimex, Windows 7 virtual com port driver is working. But the example uses very old version( v1.0) libraries. I want to use FreeRTOS for implementing my application. I also need DFU support. I also have STEVAL-MKI062V2 http://www.st.com/internet/evalboard/product/250367.jsp with micro STM32F103RET7. ST provided Firmware project source for IAR Embedded workbench. support. I want to utilize this code to make STM32-P103 board communicate via virtual COM port with DFU support. I'm working with +++. I created project, configured & programmed the Olimex board. But the board is not recognized on COM port. When i DEBUG & see, the debugger stuck in the while loop shown in the code. which means something is wrong in USB related things( i guess clock configuration & driver related).
In adapting the iNEMO v2 code for Olimex board, i did the following. 1. Created a project & configured it to suit medium density devices in Linker option config file. Also modified Startup_stm32f10xmd.s file to suit in FreeRTOS environment as below:
2. Configured DISC, push button & status LED pin of Olimex board to suit iNEMO board DISCONNECT pin of USB & push button, status LED buttons. Rest of the code of iNEMO is commented out. 3. I did not change descriptors related to USB. I don't know where I'm wrong. I'm quite sure that my problem related & . How to use the folder so that Olimex board can be recognized by computer. I working version file from virtual com port example from Olimex. It uses old libraries. Is the in this file is same as board ? I described this problem more clearly here: http://harinadha.wordpress.com/2012/05/03/olimex-stm32-p103/ #u*** #virtual-com-port #dfu |
|
相关推荐
4个回答
|
|
嗨哈里纳斯
我没有任何答案,但我也在考虑在STM32F103RB上实现DFU,使用类似于iNemo中使用的引导加载程序。我的目的是允许现场工程师通过USB而不是JTAG更新固件,并通过再次通过USB将配置映像直接加载到闪存中的指定配置块来配置目标。 我已经从http://www.st.com/internet/evalboard/product/250367.jsp下载了“iNEMO GUI和固件”,并且正在浏览随附的固件,并尝试理解它。我假设这是主要的引导加载程序模块 < install path> Firmware iNEMO_DFU_Project iNEMO_DFU Application src main.c 在USB中,然后进入循环,而(1){}。但是我还不知道如何在USB和闪存之间传输数据 - 我想我需要专注于 < install path> Firmware iNEMO_DFU_Project iNEMO_DFU Device_Firmware_Upgrade src iNEMO_dfu_mal.c 我有一些疑问:- - 这大致是你在做什么? - 这对于让DFU在STM32F103RB中工作似乎是一种明智的方法,还是我可以使用现成的DFU引导加载程序二进制文件? - 您是否正在尝试构建包含此DFU内容的单个二进制文件以及在FreeRTOS下运行的主应用程序?我希望构建一个简单的独立引导加载程序二进制文件,通过JTAG在0x08000000加载到闪存中,然后在0x8003000加载我想要的任何用户代码 感激地收到任何建议,我对这一切都有点新意 干杯 - 本麦克 Designerds - 电子设计顾问 http://designerds.co.uk 以上来自于谷歌翻译 以下为原文 Hi Harinath I don't have any answers for you, but I'm also looking at implementing DFU on a STM32F103RB, using a bootloader similar to that used in the iNemo. My intention is to allow field engineers to update firmware via USB rather than JTAG, and also configure the target by loading a config image directly into a designated config block in flash, again via USB. I've downloaded the ''iNEMO GUI and firmware'' from http://www.st.com/internet/evalboard/product/250367.jsp, and am going through the firmware supplied with it, and trying to make sense of it. I assume this is the main bootloader module which inits the USB, then goes into a loop while(1){}. However I don't yet understand how data is transferred between USB and flash - I guess I need to concentrate on I have some questions:- - is this roughly what you are doing as well? - does this seem a sensible way to get DFU working in the STM32F103RB, or is there a ready-made DFU bootloader binary I can use? - are you trying to build a single binary that includes this DFU stuff plus your main app running under FreeRTOS? I'm hoping to build a simple standalone bootloader binary that is loaded into flash via JTAG at 0x08000000, and then load whatever user code I want at 0x8003000 Any advice gratefully received, I'm a bit new to all this Cheers -- Ben Mack Designerds - electronic design consultants http://designerds.co.uk |
|
|
|
嗨麦克,
我很高兴看到你的回复(至少我发现有人在做同样的工作)。我的方法与iNEMO固件相同。它有两个文件,一个用于DFU,另一个用于应用程序。 DFU被倾倒,应用程序从中转储。 您可以将DFU视为DFU引导加载程序。 我仍然有上述问题。我有时钟配置,启动文件修改。但是目前我采用了一条不同的路径,虽然我需要iNEMO固件的原始方式。现在我的主要目的是测试连接到电路板的传感器,因此不能解决这个问题。 如果你看看DFU固件源,它非常清楚。如果在启动iNEMO板之前按下用户按钮,它将进入DFU模式,允许用户上传应用程序的DFU图像。如果没有按下用户按钮,它将跳转到应用程序代码。 这是设备运行应用程序代码的时间。如果用户发送,输入DFU软件命令,FLASH将被解锁,然后PC中的DFU应用程序进行控制&开始将代码转储到FLASH中。完成后,设备将是软件。然后iNEMO板将开始运行应用程序代码。 我在使用环境进行编码方面遇到了问题。有关此问题的任何更新,请访问我的博客。一旦我解决,我会写完整的解决方案。如果你解决了,请给我留言。 您需要制作用于升级固件的映像。使用DfuSe管理器从文件创建图像。 ST似乎在这里睡觉,没有回答任何线程。 谢谢 以上来自于谷歌翻译 以下为原文 Hi Mack, I'm happy to see your reply( at least i found someone who is working on the same). My approach is same as iNEMO firmware. It has two files, one for DFU and the other for application. DFU is dumped at , application dumped from . You may consider DFU as DFU bootloader. Still I have the problem described above. I have clock config, startup file modification. But at present i took a little different path though i need the original way of iNEMO firmware. Now my main aim is to test my sensors connected to the board, so not working on this problem. If you have a look at DFU firmware source, its very clear. if the user button is pressed before starting the iNEMO board, it will enter into DFU mode, allow the user to upload DFU image of application. If not pressed user button, it will jump to application code. This is when device is running application code. If user sends, enter DFU software command, FLASH will be unlocked, then DFU application in PC takes control & starts dumping code into the FLASH from . Upon completion, device will be software . Then iNEMO board will start running application code. I'm facing problems in coding using the environment. For any updates on this problem visit my blog. I will write complete solution once i solve. If you solve, please leave a message for me. You need to make images to use to upgrade firmware. Use DfuSe manager to create images from files. ST seems sleeping here, not answering any of the threads. Thank you |
|
|
|
嗨哈里纳斯
BTW我的名字是本,Ben Mack,我不知道为什么这个网站叫我Mack Ben ;-) (啊哈,PS刚修好了) 我现在也被转移到处理这个问题,但仍然对你的想法感兴趣 在您的应用程序代码中使用DFU模式(使用FreeRTOS),您的问题是什么?我不会这样做,我的应用程序可以触发重启以在0x08000000运行DFU引导加载程序代码 我不清楚的是引导加载程序DFU代码的工作原理。我可以看到它如何初始化USB并解锁Flash,但数据是如何传输的?在连接线设备中,DFU处理程序位于系统固件中,但在103RB中,我们必须自己编写代码。 感谢您提供有关创建.dfu图片的提示 干杯,本 以上来自于谷歌翻译 以下为原文 Hi Harinath BTW my first name is Ben, Ben Mack, I don't know why this site calls me Mack Ben ;-) (Aha, PS just fixed that) I've also been diverted away from working on this problem for now, but still interested in your thoughts So is your problem just with entering DFU mode in your application code (using FreeRTOS)? I won't be trying that, my app can trigger a reboot to run the DFU bootloader code at 0x08000000 The bit I'm unclear about is how the bootloader DFU code works. I can see how it initialises the USB and unlocks the Flash, but how does the data get transferred? In the connectivity line devices the DFU handlers are in the system firmware, but in the 103RB we have to code it ourselves. Thanks for the tip on creating .dfu images Cheers, Ben |
|
|
|
大家好,
我成功地在FreeRTOS环境中制作虚拟COM端口驱动程序。有兴趣的人请访问http://www.harinadha.wordpress.com/ 。 谢谢 以上来自于谷歌翻译 以下为原文 Hello all, I succeded in making virtual COM port driver in FreeRTOS environment. If anyone interested visit http://www.harinadha.wordpress.com/ . Thank you |
|
|
|
只有小组成员才能发言,加入小组>>
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
2720 浏览 1 评论
3236 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
1807 浏览 1 评论
3645 浏览 6 评论
6033 浏览 21 评论
1334浏览 4评论
209浏览 3评论
196浏览 3评论
对H747I-DISCO写程序时将CN2的st-link复用为usart1,再次烧录时无法检测到stlink怎么解决?
350浏览 2评论
STM32G474RE芯片只是串口发个数据就发烫严重是怎么回事?
442浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-21 13:30 , Processed in 1.627472 second(s), Total 82, Slave 66 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号