工具/软件:Linux
大家好
我在重新启动 Linux C6x (c6678 EVM 和 JFFS2文件系统)时遇到问题。
第一个解决方案:
使用 reboot 命令:)
COM 控制台:
重新启动命令后,我希望系统再次从 NAND 闪存进行复位和引导 ,但没有发生任何情况(COM 控制台中没有打印任何内容。我可以 ping IP,但我无法使用 Telnet 连接到主板)
第二个解决方案:
我尝试使用 RSTCTRL 寄存器根据 以下文章重置芯片 :用于重置的 C 代码(使用 C6x-ucreux-gcc 编译)
printf ("重置2.0!!! \n");
volatile unsigned int * pRSTCTRL =(volatile unsigned int *)(0x023100E8);
printf ("在*pRSTCTRL =%8.8x \n"、*pRSTCTRL 之前);
volatile unsigned int Key = 0x5A69;
*pRSTCTRL = Key;
printf ("在*pRSTCTRL =%8.8x 之后;*pRSTCTRL
=%8.0";*pRSTCTRL =%pRSTCTRL =%8.n";*pRSTCTRL = 8.0_p
输出:
没有发生任何事情,RSTCTRL 保持锁定!!! (我认为 Linux 没有在 RSTCTRL 寄存器上写入操作)
当我使用 CCS (cl6x)编译代码并加载到内核5 (Linux C6x 在内核0上运行)时,RSTCTRL 解锁(RSTCTRL 值 (* 0x023100E8)更改为 0x0001000C),芯片(8内核)正确复位,Linux 在内核0上重新启动
但我需要从 Linux (核心0)重新启动,而不是从 SYS/BIOS 端(核心1-7)重新启动
有人可以帮助我重新启动我的 Linux C6x?
谢谢
EBI



