IPC Queue示例

  • 55x平台,HCPU使用UART1(枚举出的第二个串口)作为console,LCPU使用UART3作为console(枚举出的第一个串口), 58x平台,HCPU使用UART1(枚举出的第一个串口)作为console,LCPU使用UART4作为console(枚举出的第三个串口),

  • 在HCPU的console里发送命令lcpu on启动LCPU,启动成功后可以在LCPU的console上看到启动log

  • HCPU和LCPU的console均可以使用命令send message发送字符串给另外一个核, message是需要发送的内容,如果字符串包含空格,需要使用双引号将字符串包起来, 另外一个核则打印接收到的字符串。 例如在HCPU的console里发送send "Hello LCPU, this is HCPU",在LCPU的console出现打印rx: Hello LCPU, this is HCPU

工程说明

  • common工程支持的开发板有

    • eh-lb551

    • eh-lb555

    • ec-lb583

    • ec-lb587

    • eh-lb561

    • eh-lb563

  • 编译方法: 进入hcpu目录执行命令scons --board=<board_name> -j8, 其中board_name为板子名称,例如编译eh-lb561板子,完整命令为scons --board=eh-lb561 -j8 编译生成的image文件存放在HCPU的build_<board_name>目录下,common工程的用法参考通<<用工程构建方法>>

  • HCPU和LCPU使用queue 2作为通信通道,HCPU给LCPU的发送buffer大小为256字节,LCPU给HCPU的发送buffer也为256字节, 相应的宏定义在/src/common/ipc_config.h和各自工程的linker_scripts/custom_mem_map.h中,HCPU的主函数在src/hcpu/main.c, LCPU的主函数在src/lcpu/main.c