Hi Naveen, You're right, I'm sorry. I didn't notice the rest of your comments. I'll take care of it and will push v3 today with the rest of the changes.
Best regards, Wojciech On Tue, 8 Dec 2020 at 02:47, Saini, Naveen Kumar < [email protected]> wrote: > You have missed few of my comments in v2 ! > > Regards, > Naveen > > -----Original Message----- > From: Saini, Naveen Kumar > Sent: Monday, December 7, 2020 8:06 PM > To: 'Wojciech Zmuda' <[email protected]>; [email protected] > Cc: [email protected]; [email protected]; > [email protected]; [email protected]; Wojciech Zmuda < > [email protected]> > Subject: RE: [yocto] [meta-zephyr][PATCH 5/5] zephyr-flash-pyocd.bbclass: > support for flashing via pyocd > > Thanks for the patches. Please find my comments below. > > -----Original Message----- > From: [email protected] <[email protected]> On > Behalf Of Wojciech Zmuda > Sent: Monday, December 7, 2020 4:15 AM > To: [email protected] > Cc: [email protected]; [email protected]; > [email protected]; [email protected]; Wojciech Zmuda < > [email protected]> > Subject: [yocto] [meta-zephyr][PATCH 5/5] zephyr-flash-pyocd.bbclass: > support for flashing via pyocd > > Flash boards supported via pyocd: > > MACHINE=xxx bitbake yyy -c flash_usb > > The only supported board for now is 96Boards Nitrogen. Modify its config > accordingly. > > Modify helloworld and philosopers samples with adidtional .hex output file > deployment, as this format is required by pyocd. > > Describe the feature in README. > > Signed-off-by: Wojciech Zmuda <[email protected]> > --- > README.txt | 23 +++++++++++++++++++ > classes/zephyr-flash-pyocd.bbclass | 17 ++++++++++++++ > conf/machine/96b-nitrogen.conf | 1 + > .../zephyr-kernel/zephyr-helloworld.bb | 1 + > .../zephyr-kernel/zephyr-philosophers.bb | 1 + > 5 files changed, 43 insertions(+) > create mode 100644 classes/zephyr-flash-pyocd.bbclass > > diff --git a/README.txt b/README.txt > index 6463339..4366764 100644 > --- a/README.txt > +++ b/README.txt > @@ -43,6 +43,29 @@ The same sample, for Nios2 image: > $ MACHINE=qemu-nios2 bitbake zephyr-philosophers > $ runqemu qemu-nios2 > > +Flashing > +================================= > + > +You can flash Zephyr samples to boards. Currently, the following > +MACHINEs are supported: > + * DFU: > + - arduino_101_sss > + - arduino_101 > + - arduino_101_ble > + * pyocd: > + - 96b_nitrogen > + > +To flash the example you built with command e.g. > + > + $ MACHINE=96b_nitrogen bitbake zephyr-philosophers > [Naveen Saini] Typo here, MACHINE=96b-nitrogen > + > +call similar command with explicit flash_usb command: > + > + $ MACHINE=96b_nitrogen bitbake zephyr-philosophers -c flash_usb > [Naveen Saini] Same as above > > + > +dfu-util and/or pyocd need to be installed in your system. If you > +observe permission errors or the flashing process seem to hang, follow > those instructions: > +https://github.com/pyocd/pyOCD/tree/master/udev > > Building and Running Zephyr Tests > ================================= > diff --git a/classes/zephyr-flash-pyocd.bbclass > b/classes/zephyr-flash-pyocd.bbclass > new file mode 100644 > index 0000000..aafe9e7 > --- /dev/null > +++ b/classes/zephyr-flash-pyocd.bbclass > @@ -0,0 +1,17 @@ > + > +python do_flash_usb() { > + from pyocd.core.helpers import ConnectHelper > + from pyocd.flash.file_programmer import FileProgrammer > + > + image = f"{d.getVar('DEPLOY_DIR_IMAGE')}/{d.getVar('PN')}.hex" > + bb.plain(f"Attempting to flash {image} to board > + {d.getVar('BOARD')}") > + > + with ConnectHelper.session_with_chosen_probe() as session: > + FileProgrammer(session).program(image) > + session.board.target.reset() > +} > + > +addtask do_flash_usb > + > +do_flash_usb[nostamp] = "1" > +do_flash_usb[vardepsexclude] = "BB_ORIGENV" > diff --git a/conf/machine/96b-nitrogen.conf > b/conf/machine/96b-nitrogen.conf index d1905f2..998db4c 100644 > --- a/conf/machine/96b-nitrogen.conf > +++ b/conf/machine/96b-nitrogen.conf > @@ -4,4 +4,5 @@ > #@DESCRIPTION: Machine configuration for 96Boards Nitrogen Board. > > require conf/machine/include/nrf52832.inc > +ZEPHYR_INHERIT_CLASSES += "zephyr-flash-pyocd" > ARCH_96b-nitrogen = "arm" > diff --git a/recipes-kernel/zephyr-kernel/zephyr-helloworld.bb > b/recipes-kernel/zephyr-kernel/zephyr-helloworld.bb > index 1400e72..9b77975 100644 > --- a/recipes-kernel/zephyr-kernel/zephyr-helloworld.bb > +++ b/recipes-kernel/zephyr-kernel/zephyr-helloworld.bb > @@ -8,6 +8,7 @@ OECMAKE_SOURCEPATH = "${ZEPHYR_SRC_DIR}" > > do_deploy () { > install -D ${B}/zephyr/${ZEPHYR_MAKE_OUTPUT}.elf > ${DEPLOYDIR}/${PN}.elf > + install -D ${B}/zephyr/${ZEPHYR_MAKE_OUTPUT}.hex > + ${DEPLOYDIR}/${PN}.hex > } > [Naveen Saini] No *.hex file while building for MACHINE=qemu-x86 Error > log: ...build/zephyr/zephyr.hex': No such file or directory > > > addtask deploy after do_compile > diff --git a/recipes-kernel/zephyr-kernel/zephyr-philosophers.bb > b/recipes-kernel/zephyr-kernel/zephyr-philosophers.bb > index 5f7fbcb..f720999 100644 > --- a/recipes-kernel/zephyr-kernel/zephyr-philosophers.bb > +++ b/recipes-kernel/zephyr-kernel/zephyr-philosophers.bb > @@ -8,6 +8,7 @@ OECMAKE_SOURCEPATH = "${ZEPHYR_SRC_DIR}" > > do_deploy () { > install -D ${B}/zephyr/${ZEPHYR_MAKE_OUTPUT}.elf > ${DEPLOYDIR}/${PN}.elf > + install -D ${B}/zephyr/${ZEPHYR_MAKE_OUTPUT}.hex > + ${DEPLOYDIR}/${PN}.hex > } > > [Naveen Saini] No *.hex file while building for MACHINE=qemu-x86 Error > log: ...build/zephyr/zephyr.hex': No such file or directory > > Could you also try to build testcases !! > $ MACHINE=96b-nitrogen bitbake zephyr-kernel-test-all > > Build breaks with error: ......build/zephyr/zephyr.elf.elf': No such file > or directory > > addtask deploy after do_compile > -- > 2.25.1 > >
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#51691): https://lists.yoctoproject.org/g/yocto/message/51691 Mute This Topic: https://lists.yoctoproject.org/mt/78763460/21656 Group Owner: [email protected] Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
