完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我尝试使用示例程序“Sbc_fs26_Example_DS”将 FS26 置于正常模式,但失败了。似乎初始化期间的第一个看门狗提要已经失败了。这是我的代码和 UART 打印输出。我注意到,每当它退出调试模式时,它都会导致整个 FS26 重置,反复循环执行此代码。
eReturnValue = Sbc_fs26_Init(&sbcConfig_BOARD_InitPeripherals); Sbc_fs26_ReadRegister(TRUE, SBC_FS26_FS_STATES_ADDR, &rxData); printf("SBC_FS26_FS_STATES_ADDR: DevStatus:%x, FS_status:%xrn",rxData.u8DeviceStatus,rxData.u16ReadData); Sbc_fs26_ReadRegister(TRUE, SBC_FS26_FS_WD_TOKEN_ADDR, &rxData); 如果(eReturnValue != E_OK) { b通过=假;/* 初始化过程中发生错误。*/ } printf("开始标记:%xrn",rxData.u16ReadData); eReturnValue |= Sbc_fs26_InitDevice(); 如果(eReturnValue != E_OK) { b通过=假;/* 初始化过程中发生错误。*/ } printf("Sbc_fs26_InitDevice:%srn",OKtoSTR(eReturnValue)); eReturnValue = Sbc_fs26_WdChangeToken(new_token); 如果(eReturnValue != E_OK) { b通过=假;/* 初始化过程中发生错误。*/ } printf("Sbc_fs26_WdChangeToken:%srn",OKtoSTR(eReturnValue)); T_sbc_fs26_timeDelay(500U); /* 检查函数 Sbc_fs26_ReadRegister() 读取寄存器 SBC_FS26_FS_WD_TOKEN_ADDR */ eReturnValue = Sbc_fs26_ReadRegister(TRUE, SBC_FS26_FS_WD_TOKEN_ADDR, &rxData); if((eReturnValue != E_OK) || (rxData.u16ReadData != new_token)) { b通过=假;/* 初始化过程中发生错误。*/ } printf("new_token/real_token:%x/%xrn",new_token,rxData.u16ReadData); /* 调用函数 WDG 刷新 */ eReturnValue = Sbc_fs26_WdRefresh(); 如果(eReturnValue != E_OK) { b通过=假;/* 初始化过程中发生错误。*/ } printf("Sbc_fs26_WdRefresh:%srn",OKtoSTR(eReturnValue)); /* 检查 SBC 错误计数器 */ eReturnValue = Sbc_fs26_GetFaultErrorCounterValue(&errorCounter); if((eReturnValue != E_OK) || (errorCounter != 0U)) { b通过=假;/* 初始化过程中发生错误。*/ } printf("fs26_GetFaultErrorCounterValue:%xrn",errorCounter); /* 退出调试模式。*/ eReturnValue = Sbc_fs26_WriteRegister(TRUE, SBC_FS26_FS_STATES_ADDR, 0X4000, NULL_PTR); 如果(eReturnValue != E_OK) { b通过=假;/* 初始化过程中发生错误。*/ } printf("退出调试模式:%srn",OKtoSTR(eReturnValue)); /* 使用 SBC_FS26_FS_BOTH 调用函数 fs26_FsxbRelease() 来设置 FS0B 和 FS1B */ eReturnValue = Sbc_fs26_FsxbRelease(SBC_FS26_FS_BOTH); 如果(eReturnValue != E_OK) { b通过=假;/* 初始化过程中发生错误。*/ } printf("fs26_FsxbRelease:%srn",OKtoSTR(eReturnValue)); /* 读取内存中SBC FS26中的数据 0XB = 正常模式 */ eReturnValue = Sbc_fs26_ReadRegister(TRUE, SBC_FS26_FS_STATES_ADDR, &rxData); if((eReturnValue != E_OK) || ((rxData.u16ReadData & 0xFF) != SBC_FS26_NORMAL_MODE)) { b通过=假;/* 初始化过程中发生错误。*/ } printf("读取 SBC_FS26_FS_STATES_ADDR:%srn",OKtoSTR(eReturnValue)); printf("SBC_FS26_FS_STATES_ADDR: DevStatus:%x, FS_status:%xrn",rxData.u8DeviceStatus,rxData.u16ReadData); #S32K3-T-BOX #FS26 |
|
相关推荐
1个回答
|
|
根据您的描述,似乎您的 FS26 仅能在调试模式下工作,并且无法进入正常模式。可能的原因是您的设备已经遇到了某种故障或错误,导致它无法正常启动。
以下是一些建议,您可以尝试解决 FS26 无法进入普通模式的问题: 1. 确认硬件连接是否正确:检查 FS26 和其他外设是否正确连接,并确保所有电缆和接头已连接牢固。 2. 重置设备:尝试按下 FS26 上的复位按钮或控制器上的软件复位按钮。这有助于清除任何现有错误或状态,让设备正常启动。 3. 更改初始化设置:您可以尝试使用其他初始化参数或尝试更改某些设置。请确保您正在使用正确的驱动程序和库,并正确配置所有寄存器和设置。 4. 检查调试输出和错误日志:查看您的调试输出和设备错误日志,以查找任何现有故障或错误。您可以使用其他调试工具或设备日志分析软件来帮助解决问题。 总之,FS26 无法进入正常模式可能有多种原因。您需要进行详细的调查和测试,以确定具体问题所在,并尝试解决它。如果您不能解决问题,请联系相关技术支持团队寻求进一步帮助。 |
|
|
|
只有小组成员才能发言,加入小组>>
1905个成员聚集在这个小组
加入小组我的项目我做主,使用GN+Ninja来完成构建系统(VSCode开发RT106X)
36352 浏览 0 评论
NXP IMX8应用处理器快速入门必备:技巧、使用、设计指南
4391 浏览 0 评论
6043 浏览 1 评论
6759 浏览 0 评论
NXP i.MX6UL开发板(linux系统烧录+规格+硬件+模块移植)使用手册
4207 浏览 0 评论
617浏览 2评论
求助,S32G上Core M启动后如何让Core A在Flash指定位置加载uboot?
612浏览 2评论
ESP32-WROVER-IE + LAN8720以太网,GPIO0电压只有1.6v,无法正常进入spi flash boot模式如何解决?
602浏览 2评论
求分享适用于PN7160 Android的NFC工厂测试应用程序
692浏览 2评论
790浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-19 07:35 , Processed in 1.130330 second(s), Total 80, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号