打印
[技术问答]

MA35D1如何与内置的M4通信

[复制链接]
427|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
两只袜子|  楼主 | 2023-2-15 09:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
MA35D1如何与内置的M4通信

使用特权

评论回复
沙发
jcky001| | 2023-2-15 11:46 | 只看该作者
  • 进入以下路径和进行内核配置

~/MA35D1_Buildroot$ make linux-menuconfig
  • 内核配置

Device Drivers --->
    Remoteproc drivers --->
        
  • Support for Remote Processor subsystem
            <*> MA35D1 remoteproc support

    Device Drivers --->
        Rpmsg drivers --->
        -*- RPMSG device interface
        <*> MA35D1 Shared Memory Driver
    • 配置内核设备树

    ~/MA35D1_Buildroot/output/build/linux-custom/arch/arm64/boot/dts/nuvoton/ma35d1.dtsi$ vi ma35d1.dtsi
    rproc {
                    compatible = "nuvoton, ma35d1-rproc";
                    resets = <&reset MA35D1_RESET_CM4>;
                    memory-region = <&rproc_buf>;
                    status = "okay";
            };
    rpmsg {
                    compatible = "nuvoton,ma35d1-rpmsg";
                    share-mem-addr = <0x2401ff00>;
                    mboxes = <&wormhole 2>;
                    tx-smem-size = <128>;
                    rx-smem-size = <128>;
                    status = "okay";
            };
    hwsem: hwspinlock@40380000 {
                    compatible = "nuvoton,ma35d1-hwsem";
                    reg = <0x0 0x40380000 0x0 0x1000>;
                    clocks = <&clk HWS_GATE>;
                    clock-names = "hws_gate";
                    nuvoton,sys = <&sys>;
                    status = "okay";
            };
    • 重新编译内核

    ~/MA35D1_Buildroot$ make linux-rebuild
    • 编译rpmsg.c,并拷贝到rootfs

    ~/MA35D1_Buildroot$ source output/host/environment-setup
    ~/MA35D1_Buildroot$ $CC rpmsg.c -o rpmsg
    ~/MA35D1_Buildroot$ cp -rf rpmsg out/images/target
    • 拷贝Share_memory_demo.elf到rootfs

    ~/MA35D1_Buildroot$ cp -rf out/images/RTP-BSP out/image/target
    • 重新打包Image

    ~/Buildroot_MA35D1$ make
    • 烧录Image 到MA35D1板子
    • 测试

    # echo -n 固件路径 > /sys/module/firmware_class/parameters/path
    # echo Share_memory_demo.elf > /sys/class/remoteproc/remoteproc0/firmware
    # echo start > /sys/class/remoteproc/remoteproc0/state
    # ./rpmsg &

    使用特权

    评论回复
    板凳
    幸福小强| | 2023-2-19 18:26 | 只看该作者
    双内核的单片机吗?

    使用特权

    评论回复
    地板
    小夏天的大西瓜| | 2023-2-22 15:55 | 只看该作者
    MA35D1系列为一颗异核同构的多核心微处理器

    使用特权

    评论回复
    5
    小小蚂蚁举千斤| | 2023-2-23 15:59 | 只看该作者
    基于双核 64 位 Arm® Cortex-A35 内核,执行速度可达 1 GHz,并搭载一颗 180 MHz Arm Cortex-M4 内核。

    使用特权

    评论回复
    发新帖 我要提问
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    2055

    主题

    7455

    帖子

    10

    粉丝