完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
你好,
我正在修改别人的代码。这是一个火腿收音机项目。在某个时间点,与一些以前版本的创建者,附加的代码工作。我不知道那个版本是什么。我遇到的问题是当观看主。C源的bootloader项目报告:“期望函数体后函数声明“在线: CysISR(MySeId中断)。 另外,有很多错误报告时,查看morse_isr C文件。我相信这是简单的东西,我看但我不清楚消息(S),我感觉这是造成项目不正确。然而,这些代码并编译没有错误或警告。我很困惑 背景信息:引导感官的“引导”销如果活跃,启动一个中断例程闪烁LED一个消息,“引导”在这种情况下,电话bootloader_start()。这是造物主三引导主机可以上传新的固件。(注:该led_test是检验以确定引导项目正常使用bootloadble项目) 如果脚不活跃,它通过启动主程序。 如果新的固件上传与miniprog3装置,该装置根本没有什么。USB接口不启动,指示灯不闪烁。 我希望这是有意义的。抱歉多个字体。iDoOs不适合这个网站。谢谢,罗恩 UBFSKBooToule01.CyWrk.CaseVo.02.Zip 639.1 K 以上来自于百度翻译 以下为原文 Hi, I am modifying someone else's code. This is for a ham radio project. At some point in time, with some previous version of Creator the attached code worked. I have no idea what that version was. The issue that I am experiencing is the when viewing the main.c source of the bootloader project is reporting: "expected function body after function declaration" at the line: CY_ISR(morse_interrupt). Also, there many errors reported when viewing the morse_isr.c file. I'm sure it is something simple that I am over looking but I can't seem to clear the message(s) and I have a feeling this is causing the project not to function correctly. However, the code does compile without errors or warnings. I'm confused Background info: The bootloader senses a "boot" pin and if active, initiates an interrupt routine to blink a led with a message, "BOOT" in this case and calls bootloader_start(). This is so Creator 3 bootloader host may upload new firmware. (Note: the led_test is a bootloadble project for testing to determine if the bootloader project is functioning correctly) If the pin is not active, it passes through this and starts the main program. If the new firmware is uploaded to the device with the miniprog3, the device simply does nothing. The USB interface is not activated and the LED does not blink. I hope this makes sense. Sorry for the multiple fonts. IE does not play well with this web site. Thanks, Ron |
|
相关推荐
21个回答
|
|
嗨,鲍伯,
谢谢,谢谢,谢谢!!!!那就行了!. 我希望我没有对所有这些和我的问题感到恼火。 再次感谢! 罗恩 以上来自于百度翻译 以下为原文 Hi Bob, Thank you, thank you, thank you!!! That did the trick!. I hope I have not annoyed with all of this and my questions. Thanks again ! Ron |
|
|
|
罗恩,一点也不生气。欢迎您再来!你现在可以去吃午饭了…
鲍勃 以上来自于百度翻译 以下为原文 Not annoyed at all, Ron. You are always welcome! You may go to lunch right now... Bob |
|
|
|
嗨,鲍伯,
只是最后一个音符。我已经就这个问题向塞浦路斯提交了一个案例。不确定它会走多远。有一件事我已经注意到,随着这项技术的工作,而芯片本身是非常好的,一个伟大的概念,赛普拉斯的回归测试的向后兼容性留下了一些期望。我是CS和IT行业的25年老兵。我想我很幸运,这两个大公司在这段时间里一直在工作,HAAD绝对致力于向后兼容。这不是第一次在使用这个HAMM收音机应用程序的时候,PSOC创建者3 SP 1是这样做的。与以前的版本不兼容。其他主要讨论如何解决fairlyeasily。这个有点粘。(关肥皂盒)。 再次感谢 罗恩 以上来自于百度翻译 以下为原文 Hi Bob, Just one last note . I have submitted a case with Cypress regarding this issue. Not sure how far it will go. One thing I have noticed since with working with this technology, while the chips themselves are very good and a great concept, Cypress's regression testing for backwards compatibility leaves something to be desired. I am a 25 year veteran of the CS and IT industries. I guess I have been lucky, the two major companies I have worked for during that period of time, had an absolute commitment to backwards compatibility. This not the first instance while working with this ham radio application where PSoC Creator 3 SP 1 is not compatible with the previous releases. The other issue was resolved fairly easily. This one was a bit sticky. (Off soap box). Thanks again, Ron |
|
|
|
我认为,向后兼容可以破坏进步,阻碍发明新工艺、新芯片。过了一段时间,支撑旧的设计或部件的负担可能是一种痛苦。
在Bootloader的情况下,我同意启动BootloadDead的功能不应该被隐藏,而是放进.h文件中,以便从Bootloader访问它。 鲍勃 以上来自于百度翻译 以下为原文 I think that keeping backwards compatibility can spoil the progress, can hinder to invent new technics, new chips. After some time the burden to support older designs or components can be a pain in the ass. In the case of the BootLoader I agree with you that the function to start the bootloadable should not have been hidden but put into the .h-file to make it accessable from BootLoader. Bob |
|
|
|
但是Creator附带了所有组件的旧版本,也应该包括引导加载程序。您需要启用隐藏组件的显示(我想它在首选项中的某个地方)。
如果您仍然拥有该项目的原始版本,您还可以尝试再次使用它,但这次不更新引导加载程序。 以上来自于百度翻译 以下为原文 But Creator comes with the older versions of all components. That should include the bootloader as well. You need to enable the display of hidden component (I think its somewhere in the preferences). If you still have the original version of the project, you can also try to use it again, but this time without updating the bootloader. |
|
|
|
来自柏树:
你好,罗纳德,对造成的不便表示歉意。是的,你是对的。您将面临BooLoad SerixApple应用程序()的问题。这个问题是由于在做引导程序组件的更新版本1.2。这些问题都是固定在即将到来的Bootloader组件1.30版。一个办法来避免这个问题是在你的项目中使用的Bootloader组件1.10。你可以通过点击,项目>;更新组件- >;引导选择版本1.10而不是1.20。现在单击NeXT并更新组件。在配置引导程序组件1你不会面对bootloader_launchapplication()功能问题。请让我们知道这是否解决了你的问题。我们很抱歉给您带来的不便造成的这个问题。这个问题将被固定在新版本的PSoC Creator创造者3.1。如果你有任何问题,请告诉我们。谢谢,Hima 以上来自于百度翻译 以下为原文 From Cypress: Hello Ronald, Apologies for the inconvenience caused. Yes you are right. You will face issues with Bootloader_LaunchApplication(). This issue is due to the updates done to Bootloader component in version 1.20. These issues are fixed in the upcoming version of bootloader component 1.30. One workaround to avoid this issue is to use bootloader component 1.10 in your project. You can do this by clicking on, Project -> Update Components -> Bootloader select version 1.10 instead of 1.20. Now Click on next and update the component. After configuring Bootloader component to 1.10 you will not face issues with Bootloader_LaunchApplication() function. Please let us know if this solves your issue. We are sorry for the inconvenience caused due to this issue. This issue will be fixed in the latest creator version PSoC Creator 3.1. Please let us know if you have any further questions. Thanks, Hima |
|
|
|
哦,我没有想到使用升级对话框来降级组件:但是,我猜它比替换它更容易(因为它应该保留配置,如果有的话)。
以上来自于百度翻译 以下为原文 Oh, I did not think of using the upgrade dialog to downgrade a component :) But its easier I guess than replacing it (since it should retain the configuration, if any). |
|
|
|
PSOC3和联机代码检查器存在一些问题,它们将语句标记为不坏的错误。相信编译会反映现实,正如我所尝试的那样,代码中似乎没有编译器错误或警告。
鲍勃 以上来自于百度翻译 以下为原文 There are some issues with PSoC3 and the on-line code checker which flags statements as errorneous that aren't bad. Trust in the compilation which will reflect the reality and -as I tried- there seem to be no compiler errors or warnings with your code. Bob |
|
|
|
你好,鲍伯,
谢谢你回到我身边。BuMer,我希望Bootloader的问题与缺少的定义一样简单(或者沿着这条线)。这意味着Bootloader不起作用的原因更为严重。作为Imentioned,这个代码曾经工作过。据我所知,源代码与一年前某个时候编译的源代码相同。 谢谢, 罗恩 以上来自于百度翻译 以下为原文 Hello Bob, Thanks for coming back to me. Bummer, I was hoping the issue with the bootloader was something as simple as a missing definition (or along that line). This means the cause of the issue of the bootloader not functioning is more deeply buried. As I mentioned, this code worked at one time. As far as I know, the source code is identical to the source that was compiled sometime about a year ago. Thanks, Ron |
|
|
|
未连接的引脚“引导”被驱动为高,这将启动代码中的引导加载程序。那是你想要的极性吗?然后,正如我理解的,引导加载程序等待命令的25秒。这就是你想要的吗?
为什么使用StaseRealStices组件而不直接读取PIN? 鲍勃 以上来自于百度翻译 以下为原文 The unconnected pin "BOOT" is driven high which will start the bootloader in code. Is that the polarity you wanted? Then, as I understand, the bootloader waits for 25 seconds for a command. That's what you want? Why do you use a StatusRegister component and do not read the pin directly? Bob |
|
|
|
嗨,鲍伯,
“未连接的引脚“引导”被驱动为高,这将启动代码中的引导加载程序。那是你想要的极性吗?然后,正如我理解的,引导加载程序等待命令的25秒。这就是你想要的吗? 为什么使用StaseRealStices组件而不直接读取PIN? 一切都很好。我将检查引脚的初始状态。我知道,当用户想上传新固件时,通过跳线将PIN带到地上。在看了PCB示意图,引脚和代码的配置,有些东西没有排队(可以这么说)。至于Bootloader上的25秒,这对我来说是个错误。我在尝试让事情开始运作。原始设置将引导加载程序设置为无限等待。针的状态好点。正如我提到的,这是其他的代码。我会简单地看一下针。 非常感谢你的帮助。 罗恩 以上来自于百度翻译 以下为原文 Hi Bob, "The unconnected pin "BOOT" is driven high which will start the bootloader in code. Is that the polarity you wanted? Then, as I understand, the bootloader waits for 25 seconds for a command. That's what you want? Why do you use a StatusRegister component and do not read the pin directly?" All very good points. I will check on the initial state of the pin. I do know that the pin is taken to ground via a jumper when the user wants to upload new firmware. After looking a the PCB schematic, the configuration of the pin and the code, something is not lining up (so to speak). As for the 25 seconds on the bootloader that is a mistake on my part. I was experimenting in an attempt to getting things to work. The original set up has the bootloader set to an infinite wait. Good point on the status of the pin. As I have mentioned this was some else's code. I will look into simply sensing the pin directly. Thanks so much for the help. Ron |
|
|
|
如果你直接读一个PIN,我建议你把它弹出,然后执行。
靴子。你也许能逃脱这件事。可能 引导更新的时间长度将允许这一点。如果你放弃了计划 一些华而不实的开关超过100的MS弹跳。 问候,Dana。 以上来自于百度翻译 以下为原文 If you read a pin directly I suggest you bounce it in and out then execute the boot. You might be able to get away w/o doing this. Possibly the length of time in boot update will allow this. If you debouce plan on some crappy switches exceeding 100's of mS bouncing. Regards, Dana. |
|
|
|
由于您计划跳过启动引脚,将不需要去弹跳,相反,它将是好的阅读后,电源上的引脚,并分支到Bootloader的更新部分,当引脚读取零。
鲍勃 以上来自于百度翻译 以下为原文 Since you plan to jumper the BOOT-pin there will be no need for de-bouncing, instead it will be alright to read the pin after power-up and branch to the update-part of the bootloader when the pin reads zero. Bob |
|
|
|
大家好,
是的,事件的顺序是:1)电源关闭设备,2)移动跳转到引导位置,3)上电,4)通过引导加载主机上传新固件,5)断电,6)移动跳线到运行位置,7)上电。显然,这并不打算经常使用。只是不方便。这个设备的大多数用户(运营商)只会在非常偶然的基础上更新固件(可能是每两年一次)。自从IAM修改固件以添加新功能以来,更新更频繁。 好的,我已经根据先前的建议修改了这个项目。请注意,我正在通过MIXPROP3更新固件。MixPrim3还用于调试代码(如果我陈述显而易见的内容,请原谅我,但在解决此类问题时,细节是很重要的)。 现在固件在一定程度上起作用了。如果引导跳线被放置在引导位置,引导加载程序接管,并且在这种情况下,ReDIS用莫尔斯电码消息“加载”闪烁。请注意:Bootloader被配置为永远等待。 然而,如果跳线不在引导位置(运行),设备只是坐在那里,什么也不做(没有消息,没有任何东西)。所以问题是,如果引导跳转器不在引导位置,IGET引导引导程序如何“跳”到“LeDyTalk”程序?请检查Bootloader项目中的.c源。 正如我所提到的,这在过去已经奏效了。这个代码的原始作者提供了一个原始的十六进制和ELF文件。如果Iset在“ReLyTestTestProject”中的BooToeLab加载组件指向这些文件,一切都会起作用。在用PSOC创建者3 SP1重新编译后,我无法得到他提供的工作资源。 谢谢你的关注和耐心。有时我可以“厚如砖头” 罗恩 UBFSKBooToule01.CyWrk.SaveV01.Zip 643.9 K 以上来自于百度翻译 以下为原文 Hello All, Yes, the sequence of events are:1) Power down the device, 2) Move jumper to boot position, 3) power up,4) upload new firmware via bootloader host, 5) power down,, 6) move jumper to run position, 7) power up. Obviously this is not intended to be used very often. It is just not convenient. Most users (operators) of this device will only be updating firmware on a very occasional basis (may be once every two years). Updating is more frequent at the moment since I am modifying the firmware to add new functionality. OK, I have modified the project based on previous recommendations. Please note I am updating the firmware via the miniprog3. The miniprog3 is also used for debugging the code (forgive me if I am stating the obvious, but details are important when trouble shooting issues such as this). The firmware now works to a certain extent. If the boot jumper is placed in the boot position the bootloader takes over and the LED is blinked with the morse code message, "LOAD" in this case. Please note: bootloader is configured to wait forever. However, if the jumper is not in the boot position (run) the device just sits there and does nothing (no message, no anything ). So the question is how do I get the bootloader project to "jump" to the "led_test" program if the boot jumper is not in the boot position? Please examine the main.c source in the bootloader project. As I have mentioned this has worked in the past. The original author of this code supplies an original hex and elf file. If I set the bootloadable component in the "led_test" project to point to these files, everything works. I just can't get the source he supplies to work after being recompiled with PSoC Creator 3 SP1. Thanks for your attention and patience. Sometimes I can be "thick as a brick" Ron |
|
|
|
关于硬连线跳线的优点。
但这些天你为什么有一个客户打开一个盒子 移动跳线?希望有一个裸露的滑动开关或按钮。 但是后来,阿马特尔的无线电操作员喝了很多不同种类的液体。 证明箱子是受欢迎的。因此触觉叠加按钮。 只是一个想法。 问候,Dana。 KB1RHB 以上来自于百度翻译 以下为原文 Good point about the hard wired jumper. But then these days why do you have a customer opening up a box to move a jumper ? Hopefully an exposed slide switch or a buttonat minimum. But then amatuer radio operators drink a lot of fluids of various kinds, so fluid proof the box would be well received. Hence tactile overlay button. Just a thought. Regards, Dana. KB1RHB |
|
|
|
啊,一个火腿。这是PabeReV2 SDR收音机。它是一个工具包,所以里面已经没有什么哈姆指了。它真的是一个很好的小钻机。它是一个非常流行的SofToCK集成RTXT的克隆,但是PeabRy使用PSoC 3来控制钻机的所有功能。我正在修改固件以支持内部生成的CW/iAMBIC代码。作为背景,与SoFROTK克隆的摩擦一直是CW桨端口由于高延迟问题而没有很好地运行。但是由于PeabRy具有PSoC3,并且几乎完全由固件驱动,所以修改原始固件以支持真正的CW/IAMBIC操作(就像大型钻机一样)是相当直接的。新固件确实工作得很好(它在beta版中,我在等待反馈)。我不能让引导加载程序工作。
RON/W4MMP 有些火腿甚至没有盒子里的豌豆。它只是赤裸裸地躺在桌子上。 HTTP:/AE9RB.COM/DIXX.PHP?MeMyPoEp=产品Type信息和cPATH=1 &产品ID=8和ZeID= 592EB1B4C9FFD78B51 CA566F723 EEC8 以上来自于百度翻译 以下为原文 Ah, a fellow ham. This is the Peaberry V2 SDR radio. It comes as a kit so there are already little hammy fingers in it . It really is good little rig. It is a clone of the very popular Softrock Ensemble RTXT but the Peaberry uses the PSoC 3 to control all the functioning of the rig. I am modifying the firmware to support internally generated CW / Iambic code. As background, the rub with the softrock clones has been the CW paddles port has never functioned very well due to high latency issues. But since the Peaberry has the PSoC3 and is almost totally firmware driven, it has been fairly straight forward to modify the original firmware to support real CW / Iambic operations (just like the big rigs do ). The new firmware actually does work very well (it is in BETA and I'm waiting for feedback). I just can't get the bootloader to work. Ron / W4MMP P.S. Some hams don't even have the Peaberry in a box. It is simply laying naked on their table http://ae9rb.com/index.php?main_page=product_info&cPath=1&products_id=8&zenid=592eb1b4c9ffed78b51ca456f723eec8 |
|
|
|
Afaiutd(就我所理解的数据表),在任何情况下都必须调用BooLoopeRistAct()。为了让它为你工作,你应该消除无限的等待。根据你的设计(连接到USB主机第一,设置跳线,然后加电),你甚至可以等待半秒或更少。当引导加载程序不是STAR4TED时,只有一些脏黑客启动引导加载程序。
鲍勃 问:为什么Java程序员总是戴眼镜? 答:“不能C” 以上来自于百度翻译 以下为原文 Afaiutd (as far as I understand the datasheet) you have to call BootLoader_Start() in any case. To make that work for you, you should remove the infinite wait. Depending on your design (make connection to USB host first, set jumper, then power-up) you even may wait for just half a second or less. When the Bootloader is not star4ted there are only some dirty hacks to start the bootloadable. Bob Q: Why do java programmers always wear glasses? A: The can't C# |
|
|
|
嗨,鲍伯,
好的,非常感谢。我会考虑你的建议。但我不得不问。黑客是干什么的? 当做, 罗恩 以上来自于百度翻译 以下为原文 Hi Bob, OK, thanks very much. I will give your recommendations much consideration. But I have to asks. What are the hacks? Regards, Ron |
|
|
|
有一个变量告诉引导加载程序是否是软件重置,现在引导加载程序应该运行,或者引导加载程序必须接管控制。我从来没有使用过,但是当YOU检查Bootloader .h文件时,你可能会发现一些东西。
鲍勃 以上来自于百度翻译 以下为原文 There is a variable telling the bootloader whether it was a software reset and now the bootloadable should run or if the bootloader must take over control. I never used that, but when yoou inspect the bootloader.h file you might find something. Bob |
|
|
|
只有小组成员才能发言,加入小组>>
754个成员聚集在这个小组
加入小组2103 浏览 1 评论
1849 浏览 1 评论
3667 浏览 1 评论
请问可以直接使用来自FX2LP固件的端点向主机FIFO写入数据吗?
1784 浏览 6 评论
1534 浏览 1 评论
CY8C4025LQI在程序中调用函数,通过示波器观察SCL引脚波形,无法将pin0.4(SCL)下拉是什么原因导致?
566浏览 2评论
CYUSB3065焊接到USB3.0 TYPE-B口的焊接触点就无法使用是什么原因导致的?
420浏览 2评论
CX3连接Camera修改分辨率之后,播放器无法播出camera的画面怎么解决?
435浏览 2评论
381浏览 2评论
使用stm32+cyw43438 wifi驱动whd,WHD驱动固件加载失败的原因?
913浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 18:51 , Processed in 1.576195 second(s), Total 112, Slave 96 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号