多核协同工作(Cortex-A7与CortexM4通信)

来自华清远见研发中心
FarSight讨论 | 贡献2021年3月24日 (三) 16:25的版本 Gpio

(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航搜索

Gpio

  1. 启动STM32CubeIDE
  2. 56-1-1.png

  3. 导入已有工程
  4. 点击File->Import…,选择Existing Projects into Workspace,点击NEXT

    56-1-2.png

    浏览目录选择工程OpenAMP_ TTY _echo,光盘路径为 【华清远见-FS-MP1A开发资料\02-程序源码\ARM体系结构与接口技术\Cortex-M4\STM32Cube_FW_MP1_V1.2.0\Projects\STM32MP157A-FSMP1\Applications\OpenAMP\OpenAMP_TTY_echo\STM32CubeIDE】

    56-1-3.png

  5. 编译工程
  6. 选择项目OpenAMP_ TTY _echo_CM4并单击Build按钮

    56-1-4.png

  7. 开发板连接
  8. 确认开发板已烧写系统,可运行linux,启动拨码拨至010。 开发板上电,并如下图连接开发板USB和ST-Link至PC。

    56-1-5.png

    可通过点击STM32 butterfly按钮来打开串口控制台

    56-1-6.png
    br>

    如果控制台窗口显示linux日志或提示信息,则连接成功

    56-1-7.png

  9. USB虚拟网线网络配置
  10. 打开控制面板的网络连接界面,在使用USBmini线连接开发板和PC后可以在网络连接界面可看到多了一个Remote NDIS网卡,如下图

    56-1-8.png

    选中Remot NDIS网卡,右键选择属性,配置IPv4,选中后点击属性,配置IP地址为192.168.7.100,如下图

    56-1-9.png

  11. 下载固件
  12. 选择项目OpenAMP_ TTY _echo_CM4

    选择Debug按键

    56-1-10.png

    选择STM32 Cortex-M C/C++ Application
    调试器 下选择thru Linux core(Production mode)
    选择Serial Port,可打开设备管理器查看

    检查IP地址,可通过串口控制台输入ifconfig指令查看usb0网卡IP地址
    56-1-11.png

    如下图,配置完成后点击Debug

    56-1-12.png

    提示关闭控制台,点击Yes

    56-1-13.png

    弹出如下窗口,默认无密码,直接点击OK

    56-1-14.png

    点击Switch

    56-1-15.png

  13. 测试固件
  14. OpenAMP_ TTY _echo_CM4固件主要功能:


    CPU2(CM4)初始化OpenAMP MW,后者通过HAL初始化/配置IPCC外设并设置openamp-rpmsg框架基础结构
    CPU2(CM4)为2个虚拟UART实例(UART0和UART1)创建2个 rpmsg通道
    CPU2(CM4)在这两个通道上等待来自CPU1(CA7)的消息
    当CPU2(CM4)在1个虚拟UART实例/ rpmsg通道上收到消息时,它将消息发送回同一虚拟UART实例上的CPU1(CA7)

    加载完固件后,重新打开STM32CubeIDE的串行控制台

    56-1-16.png

    输入以下命令

    初始化ttyRPMSG0配置

    stty -onlcr -echo -F /dev/ttyRPMSG0
    

    不断读取ttyRPMSG0通道

    cat /dev/ttyRPMSG0 &
    

    在一个ttyRPMSG0通道上发送消息”LED ON”或”LED OFF”可控制开发板上LED灯点灭状态,并在同一ttyRPMSG0通道上同时接收回显

    echo "LED ON" > /dev/ttyRPMSG0
    
    56-1-17.png