完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我有三个项目的工作空间:
1。引导加载程序 2。Bootloader和BootloadLable“IMAGE1” 三。引导加载程序和可引导加载的“IMAGE2” 我可以附加到IMAGE1的运行目标,调试器(复位后)将在第1行停止。 但是 对于图像2,我在输出窗口中得到以下错误 目标程序已停止:文件:行:- 1功能:?地址:0x000 021CDC 应用复位总是结束在1。 DeaseMalWindows显示我正在看正确的图像。 一步一步走,什么都不做 非常感谢您的理解。 吉利 以上来自于百度翻译 以下为原文 I have a workspace with three projects: 1. Bootloader 2. Bootloader and Bootloadble "Image1" 3. Bootloader and Bootloadable " Image2" I can attach to running target for Image1 and the debugger (after reset) will stop at line 1. But for Image 2 I get the following error in the output window The target program has stopped at: file: line: -1 function: ?? address: 0x00021CDC Applying reset always ends up at ine -1. Disasembly windows shows I am looking at the right image. Single step or Go, doesn't do anything Any insight is greatly appreciated. Giri |
|
相关推荐
16个回答
|
|
我能以某种方式让两个应用程序加载并使用交换逻辑,只需根据我设置的元数据加载第1或第2条吗?
以上来自于百度翻译 以下为原文 Can I somehow get both apps loaded and using the switching logic, just load #1 or #2 based on what I set the metadata too? |
|
|
|
我认为你可以做到这一点,但我遇到了麻烦,社区不能让我走出去,是写的元数据总是失败。看来我应该能做到这一点。 只是无法获得元数据。在Bootloader中有两个静态调用,我将去静态并尝试它。还没有适应它。 其他的东西都坏了: 我要求通过应用程序控制切换到另一个图像。如果我不能写入元数据,我仍然不知道如何满足这一点。 但当我查看引导加载程序时,我决定跟着它去。 1。在加载前进行完整性检查 2。如果闪光灯坏了,它会自动切换到另一个希望的好图像。 3或它会挂在Bootloader上。 我必须把所有的东西都建在应用程序中,然后调试它。 在我的申请中,我决定不做这些努力。 我认为元数据存储图像的起始位置。APP1被定义为在引导加载程序之后的下一行中。但是APP2位置存储在元数据中(在DOCS中读取)。 以上来自于百度翻译 以下为原文 I think you can do that, but I ran into trouble that the community could not get me out of which is that writes to the metadata always failed. It seems I should be able to do it.. just could not get the metadata written.There are a couple of static calls in the bootloader that I was going to Unstatic and try it. Have not gotten around to it. Other things broke :-( I had the requirement to switch to the other image by application control. I still don't know how I will satisfy this if I can't write to the metadata. But when I looked at what the bootloader does, I decided to go with that because 1. It does integrity check before loading 2. If the flash is bad, it automatically switches to the other hopefully good image 3 or it will hang out at the base bootloader. I would have to build all that into the application, and debug it. I decided not to put that effort into doing all of this in my application. I think the metadata stores the start location of the images. App1 is defined to be in the next row after the bootloader. But App2 location is stored in metadata (read that in the docs). |
|
|
|
|
|
|
|
在这里。 如果你还可以告诉我为什么元数据写不起作用。那太好了。 谢谢你的关心。 吉利 BoooDeleR.MyBoApp.CyWrk.CaseV01.Zip 6.2兆字节 以上来自于百度翻译 以下为原文 Here it is. If you can also tell me why the metadata write doesn't work. That would be great. Thanks for your interest. Giri |
|
|
|
请在您的设计中提到BooLoad ServApp1和BooLoopeRyAPP2组件的应用程序。
以上来自于百度翻译 以下为原文 Can you please mention the application of Bootloader_App1 and Bootloader_App2 components in your design |
|
|
|
工作区是一个测试应用程序。
应用1和两个简单闪烁不同的LED。 APP1闪烁LeD1和APP2闪烁LeD2。 当我认为PIN 3/3被拉低时,启动引导程序。 以上来自于百度翻译 以下为原文 The workspace is a test app. Application 1 and two simply blink an different led. App1 blinks LED1 and App2 blink led2. When I think Pin 3/3 is pulled low, the bootloader is started. |
|
|
|
为了改变或修复任何元数据行,PSooBootloader组件V1.50在每次重置(BootloadSeriStad()函数的结尾附近调用StActuvAppInMeDaDATA()函数。
这个函数然后调用…StFristByter(),它将调用CysSyFraseWrrWOWER()(在FLASH.C中,参见附件中的代码位置图片)。 在大多数情况下,活动App(和所有其他元数据内容)将保持不变,因为它仅在通过引导加载程序上传新固件时发生变化。即使元数据行的内容没有看到任何更改,也会执行上述调用。 当前组件实现以这种格式完成。 如果要修改组件,首先必须创建组件库,然后可以将现有组件导入到库中。 文件& gt;新& gt;项目,然后单击“其他”选项卡,选择“PSoC库” 在工作区资源管理器中,您可以单击“组件”选项卡,然后右键单击并导入组件。 将源库更改为PSoC创建者一,并选择您的组件。该文档应该是有用的HTTP://wwwyCysP.COM/FIL/13736/下载。 以上来自于百度翻译 以下为原文 in order to change or repair any metadata rows, the PSoC Bootloader component v1.50 calls the SetActiveAppInMetadata() function after each reset (near the end of the Bootloader_Start() function). This function then calls ...SetFlashByte(), which will call CySysFlashWriteRow() (in Flash.c, see code location pictures in attachment). In most cases the active app (and all the other metadata content) would stay the same, because it only changes when uploading a new firmware through the bootloader.The above mentioned calls are performed even if the content of the metadata row does not see any change The current component implementation is done in this format. If you want to modify the component, first have to create a component library, then you will be able to import an existing component into your library. File->New->Project, then click the "Other" tab, and select "PSoc Library" In the workspace explorer, you can then click on the components tab, then right click and import component. Change the source library to the PSoC creator one, and choose your component.This document should be helpful http://www.cypress.com/file/137436/download |
|
|
|
我了解Bootloader。
但在可引导组件中也存在类似的调用来更新元数据。 这就是我所尝试的。此调用失败,错误9。 你是说,为了使当前的活动应用程序设置非活跃的应用程序作为活动,我将不得不创建一个新的组件? 那个区域的FLASH没有锁定,所以为什么我不能写信给那一行呢? 我的要求是只切换活动应用程序。 以上来自于百度翻译 以下为原文 I understand about the bootloader. But a similar call also exists in the bootloadable component - to update metadata. This is what I was trying. This call fails with error 9. Are you saying that just to make the current active app to set the NonActive app as active I will have to create a new component? That area of flash isn't locked, so why can't I write to that row? My requirement is to switch the active app only. |
|
|
|
请确保使用API来验证要激活的应用程序是否有效。下面给出例子,
如果(0x00 u= = BooLoad ErrPa1)验证BooTeable(BTLDRDATA) { BooLoad ServApp1a StActuvAppNealMeta(BTLDRDATA); } 以上来自于百度翻译 以下为原文 Can you please make sure that the to be active app is valid using the API to validate. Example is given below, if(0x00u == Bootloader_App1_ValidateBootloadable(btldrData)) { Bootloader_App1_SetActiveAppInMetadata(btldrData); } |
|
|
|
Frank_fu 发表于 2019-1-3 08:40 这个电话 BooLoad ServApp1a StActuvAppNealMeta(BTLDRDATA); 是BooLoad ServApp1.c中的静态函数。 所以,除非你想让我修改BooLoad SeriApp1.c,否则我不能从主服务器调用它。 这是你想做的实验吗? 谢谢。 以上来自于百度翻译 以下为原文 This call Bootloader_App1_SetActiveAppInMetadata(btldrData); is a static function in Bootloader_app1.c. So I cannot call it from main, unless you want me to modify bootloader_app1.c. Is that the experiment you want to run? Thanks. |
|
|
|
muuwfwr 发表于 2019-1-3 08:49 你有没有可能帮助我理解如何加载你的项目?意思是我需要了解你是如何在闪光灯中获得第二图像的。我已经走过了你的代码,让它启动和运行第一个应用程序,但因为我不知道如何加载第二个图像,它不会跳。 我确实改变了您的UART到I2C组件,但这不要紧。 希望你能帮助我吗?我肯定你很忙,但我被困住了。你的申请正是我一直想要做的。 提前感谢任何帮助或指导。 问候,杰夫 以上来自于百度翻译 以下为原文 Is there any chance you could help me understand how to load your project? Meaning I need to understand how you get the 2nd image in the flash. I have walked thru your code and have it booting and running the first app but because I havent figured out how to load the 2nd image, it doesnt jump. I did change your UART to a I2C component but that should not matter.. Hopefully you can help me out here? I am sure you are busy but I am stuck. Your application is exactly what I have been trying to do. Thanks in advance for any help or guidance. Regards, Jeff |
|
|
|
Frank_fu 发表于 2019-1-3 08:59 杰夫:谢谢你花时间来做这个项目。 两件事。 我刚刚从我的FAE发现,调试第二个可引导项目 -右击第二个可引导项目,然后建立设置-gt;调试-gt;调试目标。 这里使用下拉选择“应用代码和数据2”。 这将建立基础设施,以便能够进入第二个可引导项目。 对于我的测试应用程序,你必须拉LooSeriSunPin(P3/3)低。 这启动了引导加载程序。然后,您可以使用引导加载程序宿主GUI(它是CyPress程序路径)来选择 加载第二应用程序。 这将导致重启发生,并加载第二应用程序。 吉利 以上来自于百度翻译 以下为原文 Jeff: thanks for taking the time with this project. Two things. I found out just recently from my FAE, to debug the 2nd bootable project - got to -- Right CLick on the 2nd Bootable project, then Build Settings -> Debug --> Debug Target. Here use the pull down to select "Application Code and Data 2". This will set up the infrastructure to be able to step into the 2nd bootable project. For my test app, you will have to pull loaderLaunch pin (P3/3) low. This launches the bootloader. then you can use the BootLoader HOst GUI (It is the Cypress program path) to pick the ComboAppProj2_2.hex to load the 2nd app. THis will cause a reboot to happen and will load the 2nd app. Giri |
|
|
|
我也可以看看你的项目,如果你需要帮助的话。 吉利 以上来自于百度翻译 以下为原文 I can also look at your project, if you would like some help. Giri |
|
|
|
吉里; 谢谢你的回复。我修改了你原来的一个工作与我的- 042套。我附上给你看一看。以下是我的笔记: 添加一个开关到P1.0和接地。还使用SW2的042工具包 附件是我的最新代码使用-042工具包。如果你闪动Bootloader,那么COMPOBAppEng1你会看到下面的内容; 1)红色LED闪烁10次意味着启动引导加载程序 2)绿色LED闪光灯闪烁20次意味着启动启动,而你在COMPOBAppEng1中 3)绿色LED关机意味着它正在等待你关闭PixCwitcActuvId读入(),这是P1.0 4)根据哪个应用程序正在运行,执行下列操作之一: -如果app App 1运行,设置App* 2激活并打开红色LED -如果app App 2运行,设置App* 1激活并打开蓝色LED 5)等待5秒 6)现在测试看看在调用引导加载程序之前应用程序是什么活动的 -如果app 1现在是激活的,打开绿色LED -如果app 2现在是激活的,闪烁绿色LED 7)等待5秒 8)按下PixLoad RunCh读取()P0.7启动新的应用程序。绿色LED应该保持5秒,然后在调用引导加载程序之前关闭。 我希望它能执行另一个应用程序,但因为我无法计算最初如何加载Appyi 2我被卡住了。所以我越来越靠近… 两个应用程序都在项目中。Appyi 2使用绿色LED的蓝色LED在APP 1中使用。 看起来APP 1代码测试工作在我认为APP 1运行的时候,然后我做开关,现在它认为APP 2现在是激活的。但是,因为我不知道如何让我的第二个应用程序最初加载,上面的8以上从未启动Appyi 2。 希望你能帮忙吗?提前感谢 杰夫J BoooADeLyCo 7.1兆字节 以上来自于百度翻译 以下为原文 Giri; Thank you for responding. I modified your original one to work with my -042 kit. I have attached it for you to take a look at. Here are my notes so far: Add a switch to P1.0 and ground. Also uses SW2 on the -042 kit Attached is my latest code using the -042 kit. If you flash the bootloader, then the ComboAppProj1 you will see the following; 1.) Red LED flashes 10 times means started the bootloader 2.) Green LED flashes 20 times means Bootloadable started and you are in the main for ComboAppProj1 3.) Green LED turns off means it is waiting for you to close Pin_SwitchActive_Read() which is P1.0 4.) Depending on which app was running do one of the following: - if App #1 was running, set App #2 active and turn on the red LED - if App #2 was running, set App #1 active and turn on the blue LED 5.) Wait 5 seconds 6.) Now test to see what app is now active before the call to the boot loader - if App #1 is now the active one, turn on the green LED - if App #2 is now the active one, blink the green LED 7.) Wait 5 seconds 8.) Press the Pin_LoaderLaunch_Read() P0.7 to launch the new app. The green LED should stay ON for 5 seconds then turn off just before the call to the bootloader. I would expect it to execute the other APP but because I cannot figure out how to initially load App #2 I am stuck. So I am getting closer... Both apps are in the project. App #2 uses the blue LED like the green LED is used in App #1. It seems that the app #1 code tests are working as I see it thinks App #1 is running, then I do the switch and now it thinks app #2 is now the active one. However, because I do not know how to get my second app loaded initially, #8 above never launches app #2. Hopefully you can help? Thank in advance |
|
|
|
Frank_fu 发表于 2019-1-3 09:46 杰夫:我现在明白你的问题了。 我要花几个小时看看你的项目,但是… 在我的例子中,我使用UART下载APP2。 对于这个例子,我下载了一个A6262的ZIP文件。 这有多个项目。 其中一个是UARTHI BooTooLoad主机GUI。 这个GUI执行Bootloader协议来下载APP 2,然后设置元数据以使其活跃。 如果你需要I2C,我想也有附加说明。 当你在App1中启动Bootloader时,GUI就是你用来下载下一个应用程序的工具。 AppNoSE(s)& lt;它们有几个用于不同接口[AN8626(I2C),AN73503<USB & GT;]。 确实解释了这一点。 因此,当你启动GUI时,你会选择[AppNord] 2Y2.HEX下载你的APP2。 当你切换回APP1---[APPNAM] 1Y1.HEX是你所用的。 让我知道这是否有帮助。 吉利 以上来自于百度翻译 以下为原文 Jeff: I understand your issue now. It will take a couple of hours for me to look at your project, but.. In my case, I am using a UART to download the App2. For this instance, I downloaded AN68272's zip file. This has multiple projects. One of them is Uart_Bootloader Host GUI. This gui does the Bootloader protocol to download App 2 and then set the metadata to make it active. If you need I2C, I think there is APpNote on that too. The GUI is what you will use to download the next App once you launch the BootLoader in App1. The AppNote(s) does explain this. So when you launch the GUI, you will select the [AppName]2_2.hex to download your App2. When you switch back to App1 - [AppName]1_1.hex is what you use. let me know if this helps. Giri |
|
|
|
杰夫:I2C是自定义组件吗? 以上来自于百度翻译 以下为原文 Jeff: Is the I2C a custom component? |
|
|
|
只有小组成员才能发言,加入小组>>
752个成员聚集在这个小组
加入小组2069 浏览 1 评论
1824 浏览 1 评论
3633 浏览 1 评论
请问可以直接使用来自FX2LP固件的端点向主机FIFO写入数据吗?
1760 浏览 6 评论
1509 浏览 1 评论
CY8C4025LQI在程序中调用函数,通过示波器观察SCL引脚波形,无法将pin0.4(SCL)下拉是什么原因导致?
507浏览 2评论
CYUSB3065焊接到USB3.0 TYPE-B口的焊接触点就无法使用是什么原因导致的?
357浏览 2评论
CX3连接Camera修改分辨率之后,播放器无法播出camera的画面怎么解决?
410浏览 2评论
357浏览 2评论
使用stm32+cyw43438 wifi驱动whd,WHD驱动固件加载失败的原因?
854浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 11:06 , Processed in 1.185930 second(s), Total 79, Slave 72 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号