vuart.py

# Ce travail est publié sous licence MIT.
# Copyright (c) 2024 OpenMV LLC. All rights reserved.
# https://github.com/openmv/openmv/blob/master/LICENSE
#
# Cet exemple illustre l'utilisation la plus basique d'Open-AMP pour communiquer entre deux cœurs
# sur des microcontrôleurs double cœur. Pour exécuter cet exemple, un micrologiciel pour le cœur secondaire est
# requis. À des fins de test, un micrologiciel de démonstration pour le cœur secondaire est fourni ici :
# https://github.com/iabdalkader/openamp_vuart
# Pour configurer et compiler le micrologiciel, veuillez suivre les instructions du fichier README.
#
# Notez que sur la plupart des microcontrôleurs, il n'est pas possible de réinitialiser le cœur secondaire sans
# une réinitialisation complète. Ainsi, exécuter puis arrêter ce script peut entraîner une réinitialisation complète de la
# carte, ce qui est tout à fait normal.

import openamp
import time


def ept_recv_callback(src_addr, data):
    print("Received message: ", data.decode())


# Créer un nouveau point de terminaison RPMsg pour communiquer avec le M4.
ept = openamp.Endpoint("vuart-channel", callback=ept_recv_callback)

# Créer un objet remoteproc, charger son micrologiciel et le démarrer. Notez que le cœur distant
# peut également démarrer à partir d'un point d'entrée en mémoire flash (comme 0x081E0000) si un micrologiciel s'y trouve.
# rproc = openamp.RProc(0x08180000)
rproc = openamp.RemoteProc("vuart.elf")
rproc.start()

count = 0
while True:
    if ept.is_ready():
        ept.send("Hello World %d!" % count, timeout=1000)
        count += 1
    time.sleep_ms(1000)

results matching ""

    No results matching ""