我写了一个裸机多核示例。
代码,电路图在这里-https://github.com/jeffreyantony/multipi/tree/master/Example_01
在我的示例中,树莓派的GPIO引脚连接了3个LED。Raspberry Pi 2中总共有4个内核。每个内核都被分配为闪烁其相应的LED。
我在下面的地址中写了每个内核要执行的代码的地址:内核1 0x4000009C内核2 0x400000AC内核3 0x400000BC
编译代码后,仅分配给内核1的LED闪烁(在此示例中为黄色LED)。其他不是。
这意味着核心2和核心3的代码未运行(因为其他指示灯未闪烁)。我也发现启动所有内核后的代码也没有运行,即core0_submain()-此功能应使Raspberry Pi上的ACT LED闪烁
谁能让我知道是什么问题?是因为所有4个内核都试图写入同一GPIO寄存器,而只有Core 1在写操作中获胜?
我尝试添加“ 属性((裸));” 对于core0_submain(),但没有用。
我正在使用https://launchpad.net/gcc-arm-embedded中的工具链
再次代码-https://github.com/jeffreyantony/multipi/blob/master/Example_01/main.c
生成文件-https: //github.com/jeffreyantony/multipi/blob/master/Example_01/Makefile
2015年10月20日更新:我添加了对JTAG的支持。但未成功获得调试接口
2015年10月25日更新:问题已修复。查看答案。