Date   

Re: SOC_DIR not populated

Carles Cufi
 

Hi Dan,

 

Assuming you have the latest upstream master, then this might be a regression introduced by:

https://github.com/zephyrproject-rtos/zephyr/pull/26715

 

We are certainly not dropping support for out-of-tree SoCs, in fact we just discussed this recently with Torsten (on copy). He should be able to give more info on the subject.

 

Thanks,

 

Carles

 

From: devel@... <devel@...> On Behalf Of Dan Kalowsky via lists.zephyrproject.org
Sent: 06 August 2020 19:19
To: devel@...
Subject: [Zephyr-devel] SOC_DIR not populated

 

Hey Zephyr team,

 

Long time no talk.

 

Short version:  Using the latest HEAD, I am finding that the kconfig SOC_DIR is not being populated for an out of tree SOC build.  This causes a compilation failure and makes everyone a sad panda.  As this was something that worked perfectly in 2.3 (and for the most part earlier), I was a little surprised to see this no longer working on HEAD.  Was it intentional to remove support for out of tree SOCs, or is this an oversight?  I could not find any documentation supporting either statement in the mailing list or meeting minutes.

 

Longer version:

 

I have a Zephyr application with a lot of out of tree pieces.  It kind of looks like the following simplified layout:

 

application/

- board/

- soc/

-- Kconfig

-- arm/

--- product/

--- Kconfig

--- Kconfig.defconfig

--- Kconfig.soc

--- CMakeLists.txt

---- soc_a/

---- soc_b/

- dts/

- src/

zephyr/

modules/

 

Overall this has worked great in 2.3 (and was functional in 2.2 with some fixes).  Given some of the recent work by Andrew and Tomasz (thanks and hi btw) I was motivated to upgrade to HEAD.  At this point, while building I get informed that the path $(SOC_DIR)/$(ARCH) has some unset variables, which causes the initial setup for cmake/kconfig to fail.  Sure enough, there are empty variables being used.  While investigating, it looks like the current HEAD has three issues for out of tree SOC usage, but I've only been able to "resolve" two of them.  Almost all of it seems to have originated from commit 5f7cc8ded9138b773012b9ffedc744b9475927db.

 

Issues found:

1) The file cmake/kconfig.cmake no longer sets up to export the SOC_DIR as it used to.  Thus when setting a custom SOC_DIR, nothing is there for the python script to add.  Adding back lines 44 and 88 solves the variables now being set, although the value of SOC_DIR is still nil.  You will need to resolve issue 2 as well to finish this fix.

 

2) The file cmake/app/boilerplate.cmake has relocated lines of code that set the SOC_DIR variable to a after a section of code that has requirements for them to be set.  Specifically the chunk at 527-541 needs to happen BEFORE the inclusion of kconfig.cmake on line 515.  It is not clear why these lines were moved from the commit or Pull Request, but it does expose a dependency chain that does not seem to be tested/validated in the scripts.  Moving this section alone is not enough, you still need issue 1 resolved for the variables to show up in the kconfig.py script.

 

3) Even with these changes, which allow me to get further along the compile, there is still one last issue I have not been able to rootcause.   I end up seeing the following error, which appears to munge some of the path:

CMake Error at /home/dkalowsky/product_dev/zephyr/CMakeLists.txt:376 (message):
  Could not find linker script:
  '/home/dkalowsky/product_dev/application/soc/arm//linker.ld'.

 

Note the // before linker.ld. 

 

Which brings us to the questions part...

 

Is Zephyr looking to drop out of tree SOC?  I certainly hope not, but some of the change directions in the commit above give a bit of concern that it might be true.  Note this is tea leaf reading, and I am bad at it.

If not, is there a new layout that should be utilized for out of tree SOC usage?  The documentation still points to the previously existing behavior as being correct.  If it is changing, is there a document that I can reference to update my local application?

If this is all oversight and just bugs, any ideas on what could be causing issue 3?

 

 


--

"Do you expect me to talk?"
"No Mr. Bond, I expect you to die."


SOC_DIR not populated

Dan Kalowsky <dank@...>
 

Hey Zephyr team,

Long time no talk.

Short version:  Using the latest HEAD, I am finding that the kconfig SOC_DIR is not being populated for an out of tree SOC build.  This causes a compilation failure and makes everyone a sad panda.  As this was something that worked perfectly in 2.3 (and for the most part earlier), I was a little surprised to see this no longer working on HEAD.  Was it intentional to remove support for out of tree SOCs, or is this an oversight?  I could not find any documentation supporting either statement in the mailing list or meeting minutes.

Longer version:

I have a Zephyr application with a lot of out of tree pieces.  It kind of looks like the following simplified layout:

application/
- board/
- soc/
-- Kconfig
-- arm/
--- product/
--- Kconfig
--- Kconfig.defconfig
--- Kconfig.soc
--- CMakeLists.txt
---- soc_a/
---- soc_b/
- dts/
- src/
zephyr/
modules/

Overall this has worked great in 2.3 (and was functional in 2.2 with some fixes).  Given some of the recent work by Andrew and Tomasz (thanks and hi btw) I was motivated to upgrade to HEAD.  At this point, while building I get informed that the path $(SOC_DIR)/$(ARCH) has some unset variables, which causes the initial setup for cmake/kconfig to fail.  Sure enough, there are empty variables being used.  While investigating, it looks like the current HEAD has three issues for out of tree SOC usage, but I've only been able to "resolve" two of them.  Almost all of it seems to have originated from commit 5f7cc8ded9138b773012b9ffedc744b9475927db.

Issues found:
1) The file cmake/kconfig.cmake no longer sets up to export the SOC_DIR as it used to.  Thus when setting a custom SOC_DIR, nothing is there for the python script to add.  Adding back lines 44 and 88 solves the variables now being set, although the value of SOC_DIR is still nil.  You will need to resolve issue 2 as well to finish this fix.

2) The file cmake/app/boilerplate.cmake has relocated lines of code that set the SOC_DIR variable to a after a section of code that has requirements for them to be set.  Specifically the chunk at 527-541 needs to happen BEFORE the inclusion of kconfig.cmake on line 515.  It is not clear why these lines were moved from the commit or Pull Request, but it does expose a dependency chain that does not seem to be tested/validated in the scripts.  Moving this section alone is not enough, you still need issue 1 resolved for the variables to show up in the kconfig.py script.

3) Even with these changes, which allow me to get further along the compile, there is still one last issue I have not been able to rootcause.   I end up seeing the following error, which appears to munge some of the path:
CMake Error at /home/dkalowsky/product_dev/zephyr/CMakeLists.txt:376 (message):
  Could not find linker script:
  '/home/dkalowsky/product_dev/application/soc/arm//linker.ld'.

Note the // before linker.ld. 

Which brings us to the questions part...

Is Zephyr looking to drop out of tree SOC?  I certainly hope not, but some of the change directions in the commit above give a bit of concern that it might be true.  Note this is tea leaf reading, and I am bad at it.
If not, is there a new layout that should be utilized for out of tree SOC usage?  The documentation still points to the previously existing behavior as being correct.  If it is changing, is there a document that I can reference to update my local application?
If this is all oversight and just bugs, any ideas on what could be causing issue 3?



--
"Do you expect me to talk?"
"No Mr. Bond, I expect you to die."


Zephyr Project: Dev Meeting - Thu, 08/06/2020 3:00pm-4:00pm, Please RSVP #cal-reminder

devel@lists.zephyrproject.org Calendar <devel@...>
 

Reminder: Zephyr Project: Dev Meeting

When: Thursday, 6 August 2020, 3:00pm to 4:00pm, (GMT+00:00) UTC

Where:Microsoft Teams Meeting

An RSVP is requested. Click here to RSVP

Organizer: devel@...

Description:

________________________________________________________________________________
+1 321-558-6518 United States, Orlando (Toll)
Conference ID: 483 314 739#
Local numbers | Reset PIN | Learn more about Teams | Meeting options
 
 
________________________________________________________________________________


Dev-Review Meeting Agenda Aug 6

Kumar Gala
 

Here’s the agenda topics for this week:

* Continue discussion on CONFIG_MULTITHREADING=n
- Do we continue to support it and what functionality should be expected to work in that mode:
https://github.com/zephyrproject-rtos/zephyr/issues/9808
https://github.com/zephyrproject-rtos/zephyr/issues/8393
https://github.com/zephyrproject-rtos/zephyr/issues/26796
https://github.com/zephyrproject-rtos/zephyr/issues/8496



https://github.com/zephyrproject-rtos/zephyr/issues?q=is%3Aissue+is%3Aopen+CONFIG_MULTITHREADING

* Any PR/issues w/dev-review tag
* Any topics anyone else has.

- k


Updated Event: Zephyr: Toolchain Working Group #cal-invite

devel@lists.zephyrproject.org Calendar <devel@...>
 

Zephyr: Toolchain Working Group

When:
Thursday, 13 August 2020
2:00pm to 3:00pm
(UTC+00:00) UTC
Repeats: Every 2 weeks on Thursday, through Thursday, 17 December 2020

Where:
Microsoft Teams Meeting

Organizer: Maureen Helm

An RSVP is requested. Click here to RSVP

Description:

________________________________________________________________________________
+1 321-558-6518 United States, Orlando (Toll)
Conference ID: 682 738 030#
Local numbers | Reset PIN | Learn more about Teams | Meeting options
 
 
________________________________________________________________________________


RFC: API change - make all device instance constant

Tomasz Bursztyka
 


RFC: API change - Device structure attribute renaming

Tomasz Bursztyka
 

Hello,

I am proposing to rename 3 attributes of struct device.
These attributes names have legacy roots which do not make sense
anymore.

See: https://github.com/zephyrproject-rtos/zephyr/issues/27397

and the proposed PR:
https://github.com/zephyrproject-rtos/zephyr/pull/25798

Tomasz


Re: Latest Progress....[Zephyr-devel] Python Interpreter for Zephyr

Muhammad Muh <muhammad.muh83@...>
 

Hi Mr Jamie, 

Thank you very much for your kind response and helping me. It is requested to please guide me as how to correctly set up the flash storage system for nrf52840 dk. I will be grateful. 

Best Regards.


From: Jamie Mccrae <Jamie.Mccrae@...>
Sent: Wednesday, August 5, 2020 4:12 PM
To: muhammad.muh83@... <muhammad.muh83@...>; Maureen Helm (OSS) <maureen.helm@...>; jrosenth@... <jrosenth@...>
Cc: devel@... <devel@...>
Subject: RE: Latest Progress....[Zephyr-devel] Python Interpreter for Zephyr
 

Hi Muhammad,

Have you enabled the flash storage system and correctly set it up for your module?

Thanks,
Jamie

 

From: devel@... <devel@...> On Behalf Of Muhammad Muh via lists.zephyrproject.org
Sent: 03 August 2020 06:54
To: Maureen Helm (OSS) <maureen.helm@...>; jrosenth@...
Cc: devel@...
Subject: Latest Progress....[Zephyr-devel] Python Interpreter for Zephyr

 

Dear Maureen and Jrosenth,

 

Thank you very much for your kind help. I am using the latest version of Zephyr (as shown in bold in the following code) and also I downloaded the micropython in the Zephyr Project Folder from "git clone https://github.com/micropython/micropython.git". Now I want to run a blink led example to test the Micropython functionality by using the example given in the link "https://github.com/micropython/micropython/tree/master/ports/zephyr". When I run the "make" command I am getting the following error as shown at the end of the following code. Please note I am using nrf52840 dk. Request to please advise.

 

make BOARD=nrf52840dk_nrf52840

Use make V=1 or set BUILD_VERBOSE in your environment to increase build verbosity.

Warning: FROZEN_DIR is deprecated in favour of FROZEN_MANIFEST

mkdir -p outdir/nrf52840dk_nrf52840 && cmake -DBOARD=nrf52840dk_nrf52840 -Boutdir/nrf52840dk_nrf52840 -H.

Including boilerplate (Zephyr base): /home/muhammad/zephyrproject/zephyr/cmake/app/boilerplate.cmake

-- Application: /home/muhammad/zephyrproject/micropython/ports/zephyr

-- Zephyr version: 2.3.99 (/home/muhammad/zephyrproject/zephyr)

-- Found Python3: /usr/bin/python3.7 (found suitable exact version "3.7.5") found components: Interpreter

-- Board: nrf52840dk_nrf52840

-- Found toolchain: zephyr (/home/muhammad/zephyr-sdk-0.11.3)

-- Found west: /home/muhammad/.local/bin/west (found suitable version "0.7.2", minimum required is "0.7.1")

-- Found dtc: /home/muhammad/zephyr-sdk-0.11.3/sysroots/x86_64-pokysdk-linux/usr/bin/dtc (found suitable version "1.5.0", minimum required is "1.4.6")

-- Found BOARD.dts: /home/muhammad/zephyrproject/zephyr/boards/arm/nrf52840dk_nrf52840/nrf52840dk_nrf52840.dts

-- Generated zephyr.dts: /home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840/zephyr/zephyr.dts

-- Generated devicetree_unfixed.h: /home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840/zephyr/include/generated/devicetree_unfixed.h

Parsing /home/muhammad/zephyrproject/zephyr/Kconfig

Loaded configuration '/home/muhammad/zephyrproject/zephyr/boards/arm/nrf52840dk_nrf52840/nrf52840dk_nrf52840_defconfig'

Merged configuration '/home/muhammad/zephyrproject/micropython/ports/zephyr/prj.conf'

Configuration saved to '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840/zephyr/.config'

Kconfig header saved to '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840/zephyr/include/generated/autoconf.h'

 

warning: TEST_RANDOM_GENERATOR (defined at subsys/random/Kconfig:8) was assigned the value 'y' but

got the value 'n'. Check these unsatisfied dependencies: (!ENTROPY_HAS_DRIVER) (=n). See

http://docs.zephyrproject.org/latest/reference/kconfig/CONFIG_TEST_RANDOM_GENERATOR.html and/or look

up TEST_RANDOM_GENERATOR in the menuconfig/guiconfig interface. The Application Development Primer,

Setting Configuration Values, and Kconfig - Tips and Best Practices sections of the manual might be

helpful too.

 

-- The C compiler identification is GNU 9.2.0

-- The CXX compiler identification is GNU 9.2.0

-- The ASM compiler identification is GNU

-- Found assembler: /home/muhammad/zephyr-sdk-0.11.3/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc

-- Cache files will be written to: /home/muhammad/.cache/zephyr

-- Configuring done

-- Generating done

-- Build files have been written to: /home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840

make --no-print-directory -C outdir/nrf52840dk_nrf52840 outputexports CMAKE_COMMAND=: >outdir/nrf52840dk_nrf52840/Makefile.export

make -C outdir/nrf52840dk_nrf52840 syscall_list_h_target kobj_types_h_target

make[1]: Entering directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

make[2]: Entering directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

make[3]: Entering directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

make[4]: Entering directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

Scanning dependencies of target parse_syscalls_target

make[4]: Leaving directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

make[4]: Entering directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

[ 25%] Generating misc/generated/syscalls.json, misc/generated/struct_tags.json

make[4]: Leaving directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

[ 50%] Built target parse_syscalls_target

make[4]: Entering directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

Scanning dependencies of target syscall_list_h_target

make[4]: Leaving directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

make[4]: Entering directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

[ 75%] Generating include/generated/syscall_dispatch.c, include/generated/syscall_list.h

make[4]: Leaving directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

[100%] Built target syscall_list_h_target

make[3]: Leaving directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

make[2]: Leaving directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

make[2]: Entering directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

make[3]: Entering directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

make[4]: Entering directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

make[4]: Leaving directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

[ 66%] Built target parse_syscalls_target

make[4]: Entering directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

Scanning dependencies of target kobj_types_h_target

make[4]: Leaving directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

make[4]: Entering directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

[100%] Generating include/generated/kobj-types-enum.h, include/generated/otype-to-str.h

make[4]: Leaving directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

[100%] Built target kobj_types_h_target

make[3]: Leaving directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

make[2]: Leaving directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

make[1]: Leaving directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

Use make V=1 or set BUILD_VERBOSE in your environment to increase build verbosity.

Warning: FROZEN_DIR is deprecated in favour of FROZEN_MANIFEST

GEN build/genhdr/qstr.i.last

main.c:108:63: error: missing binary operator before token "("

108 | #elif defined(CONFIG_FLASH_MAP) && FLASH_AREA_LABEL_EXISTS(storage)

| ^

make: *** [../../py/mkrules.mk:89: build/genhdr/qstr.i.last] Error 1

make: *** Deleting file 'build/genhdr/qstr.i.last'

 

Best Regards


Links:

You receive all messages sent to this group.

View/Reply Online (#7227) | Reply To Sender | Reply To Group | Mute This Topic | New Topic

Your Subscription | Contact Group Owner | Unsubscribe [jamie.mccrae@...]

_._,_._,_

THIS MESSAGE, ANY ATTACHMENT(S), AND THE INFORMATION CONTAINED HEREIN MAY BE PROPRIETARY TO LAIRD CONNECTIVITY, INC. AND/OR ANOTHER PARTY, AND MAY FURTHER BE INTENDED TO BE KEPT CONFIDENTIAL. IF YOU ARE NOT THE INTENDED RECIPIENT, PLEASE DELETE THE EMAIL AND ANY ATTACHMENTS, AND IMMEDIATELY NOTIFY THE SENDER BY RETURN EMAIL. THIS MESSAGE AND ITS CONTENTS ARE THE PROPERTY OF LAIRD CONNECTIVITY, INC. AND MAY NOT BE REPRODUCED OR USED WITHOUT THE EXPRESS WRITTEN CONSENT OF LAIRD CONNECTIVITY, INC.


West v0.7.3 released

Bolivar, Marti
 

Hello,

I'm announcing the release of west v0.7.3.

https://pypi.org/project/west/0.7.3/
https://github.com/zephyrproject-rtos/west/tree/v0.7.3

To upgrade:

Ubuntu: pip3 install --user west==0.7.3
Windows/macoS: pip3 install west==0.7.3

This is a bugfix release from v0.7.2. The main bug fixed causes 'west
update' to fail in some situations when manifest imports are used.

For details about this bug, see:

https://github.com/zephyrproject-rtos/west/pull/415

For details about manifest imports, see:

https://docs.zephyrproject.org/latest/guides/west/manifest.html#manifest-imports

Full commit list since v0.7.2:

Martí Bolívar (5):
conftest: make it more os.PathLike friendly
app: fix import error followed by update
app/project: add missing f for f-string
lint: flake8 fixes
West v0.7.3

Thanks,
Martí


Re: Latest Progress....[Zephyr-devel] Python Interpreter for Zephyr

lairdjm
 

Hi Muhammad,

Have you enabled the flash storage system and correctly set it up for your module?

Thanks,
Jamie

 

From: devel@... <devel@...> On Behalf Of Muhammad Muh via lists.zephyrproject.org
Sent: 03 August 2020 06:54
To: Maureen Helm (OSS) <maureen.helm@...>; jrosenth@...
Cc: devel@...
Subject: Latest Progress....[Zephyr-devel] Python Interpreter for Zephyr

 

Dear Maureen and Jrosenth,

 

Thank you very much for your kind help. I am using the latest version of Zephyr (as shown in bold in the following code) and also I downloaded the micropython in the Zephyr Project Folder from "git clone https://github.com/micropython/micropython.git". Now I want to run a blink led example to test the Micropython functionality by using the example given in the link "https://github.com/micropython/micropython/tree/master/ports/zephyr". When I run the "make" command I am getting the following error as shown at the end of the following code. Please note I am using nrf52840 dk. Request to please advise.

 

make BOARD=nrf52840dk_nrf52840

Use make V=1 or set BUILD_VERBOSE in your environment to increase build verbosity.

Warning: FROZEN_DIR is deprecated in favour of FROZEN_MANIFEST

mkdir -p outdir/nrf52840dk_nrf52840 && cmake -DBOARD=nrf52840dk_nrf52840 -Boutdir/nrf52840dk_nrf52840 -H.

Including boilerplate (Zephyr base): /home/muhammad/zephyrproject/zephyr/cmake/app/boilerplate.cmake

-- Application: /home/muhammad/zephyrproject/micropython/ports/zephyr

-- Zephyr version: 2.3.99 (/home/muhammad/zephyrproject/zephyr)

-- Found Python3: /usr/bin/python3.7 (found suitable exact version "3.7.5") found components: Interpreter

-- Board: nrf52840dk_nrf52840

-- Found toolchain: zephyr (/home/muhammad/zephyr-sdk-0.11.3)

-- Found west: /home/muhammad/.local/bin/west (found suitable version "0.7.2", minimum required is "0.7.1")

-- Found dtc: /home/muhammad/zephyr-sdk-0.11.3/sysroots/x86_64-pokysdk-linux/usr/bin/dtc (found suitable version "1.5.0", minimum required is "1.4.6")

-- Found BOARD.dts: /home/muhammad/zephyrproject/zephyr/boards/arm/nrf52840dk_nrf52840/nrf52840dk_nrf52840.dts

-- Generated zephyr.dts: /home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840/zephyr/zephyr.dts

-- Generated devicetree_unfixed.h: /home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840/zephyr/include/generated/devicetree_unfixed.h

Parsing /home/muhammad/zephyrproject/zephyr/Kconfig

Loaded configuration '/home/muhammad/zephyrproject/zephyr/boards/arm/nrf52840dk_nrf52840/nrf52840dk_nrf52840_defconfig'

Merged configuration '/home/muhammad/zephyrproject/micropython/ports/zephyr/prj.conf'

Configuration saved to '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840/zephyr/.config'

Kconfig header saved to '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840/zephyr/include/generated/autoconf.h'

 

warning: TEST_RANDOM_GENERATOR (defined at subsys/random/Kconfig:8) was assigned the value 'y' but

got the value 'n'. Check these unsatisfied dependencies: (!ENTROPY_HAS_DRIVER) (=n). See

http://docs.zephyrproject.org/latest/reference/kconfig/CONFIG_TEST_RANDOM_GENERATOR.html and/or look

up TEST_RANDOM_GENERATOR in the menuconfig/guiconfig interface. The Application Development Primer,

Setting Configuration Values, and Kconfig - Tips and Best Practices sections of the manual might be

helpful too.

 

-- The C compiler identification is GNU 9.2.0

-- The CXX compiler identification is GNU 9.2.0

-- The ASM compiler identification is GNU

-- Found assembler: /home/muhammad/zephyr-sdk-0.11.3/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc

-- Cache files will be written to: /home/muhammad/.cache/zephyr

-- Configuring done

-- Generating done

-- Build files have been written to: /home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840

make --no-print-directory -C outdir/nrf52840dk_nrf52840 outputexports CMAKE_COMMAND=: >outdir/nrf52840dk_nrf52840/Makefile.export

make -C outdir/nrf52840dk_nrf52840 syscall_list_h_target kobj_types_h_target

make[1]: Entering directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

make[2]: Entering directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

make[3]: Entering directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

make[4]: Entering directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

Scanning dependencies of target parse_syscalls_target

make[4]: Leaving directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

make[4]: Entering directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

[ 25%] Generating misc/generated/syscalls.json, misc/generated/struct_tags.json

make[4]: Leaving directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

[ 50%] Built target parse_syscalls_target

make[4]: Entering directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

Scanning dependencies of target syscall_list_h_target

make[4]: Leaving directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

make[4]: Entering directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

[ 75%] Generating include/generated/syscall_dispatch.c, include/generated/syscall_list.h

make[4]: Leaving directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

[100%] Built target syscall_list_h_target

make[3]: Leaving directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

make[2]: Leaving directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

make[2]: Entering directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

make[3]: Entering directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

make[4]: Entering directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

make[4]: Leaving directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

[ 66%] Built target parse_syscalls_target

make[4]: Entering directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

Scanning dependencies of target kobj_types_h_target

make[4]: Leaving directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

make[4]: Entering directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

[100%] Generating include/generated/kobj-types-enum.h, include/generated/otype-to-str.h

make[4]: Leaving directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

[100%] Built target kobj_types_h_target

make[3]: Leaving directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

make[2]: Leaving directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

make[1]: Leaving directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

Use make V=1 or set BUILD_VERBOSE in your environment to increase build verbosity.

Warning: FROZEN_DIR is deprecated in favour of FROZEN_MANIFEST

GEN build/genhdr/qstr.i.last

main.c:108:63: error: missing binary operator before token "("

108 | #elif defined(CONFIG_FLASH_MAP) && FLASH_AREA_LABEL_EXISTS(storage)

| ^

make: *** [../../py/mkrules.mk:89: build/genhdr/qstr.i.last] Error 1

make: *** Deleting file 'build/genhdr/qstr.i.last'

 

Best Regards


Links:

You receive all messages sent to this group.

View/Reply Online (#7227) | Reply To Sender | Reply To Group | Mute This Topic | New Topic

Your Subscription | Contact Group Owner | Unsubscribe [jamie.mccrae@...]

_._,_._,_


RFC: removing eeprom_slave as driver in Zephyr

Peter A. Bigot
 

The eeprom_slave driver accessed under CONFIG_I2C_EEPROM_SLAVE implements the I2C follower (slave) driver API. This device isn't an actual hardware driver: it's a virtual EEPROM that stores data in an instance-specific RAM buffer, with the data exposed on an I2C bus as a I2C follower device that can be controlled by another device acting as a leader (master) on that same bus.

As such it's a reasonable example of how to write an I2C follower driver, but it's not clear that it has a real use in applications: the sole in-tree reference is in the i2c_slave_api test.

Unless this driver has real-world applications I intend to move this from the drivers directory into the source directory for the test that uses it.  Consequently CONFIG_I2C_EEPROM_SLAVE and the device it provided will no longer be supported.

If you have a use for this driver or other concerns about this please comment at: https://github.com/zephyrproject-rtos/zephyr/issues/27303

Peter


Zephyr Project: APIs - Tue, 08/04/2020 4:00pm-5:00pm, Please RSVP #cal-reminder

devel@lists.zephyrproject.org Calendar <devel@...>
 

Reminder: Zephyr Project: APIs

When: Tuesday, 4 August 2020, 4:00pm to 5:00pm, (GMT+00:00) UTC

Where:Microsoft Teams Meeting

An RSVP is requested. Click here to RSVP

Organizer: devel@...

Description:

Meeting decisions/discussions in their respective PRs, tracked here: https://github.com/zephyrproject-rtos/zephyr/projects/18


________________________________________________________________________________
+1 321-558-6518 United States, Orlando (Toll)
Conference ID: 317 990 129#
Local numbers | Reset PIN | Learn more about Teams | Meeting options
 
 
________________________________________________________________________________


Re: LVGL support and more examples

Carles Cufi
 

Hi there,

 

LVGL has been updated to version 7 in master:

https://github.com/zephyrproject-rtos/zephyr/pull/26982

 

Changing the display driver is done in Kconfig (and I assume Devicetree):

 

https://github.com/zephyrproject-rtos/zephyr/blob/master/drivers/display/Kconfig

 

Carles

 

 

From: devel@... <devel@...> On Behalf Of lazar.chervenkov via lists.zephyrproject.org
Sent: 04 August 2020 14:27
To: devel@...
Subject: [Zephyr-devel] LVGL support and more examples

 

Hi there,

I've been using LVGL for creating GUIs together with Nordic nRF5 SDK. I have to move to nRF Connect SDK for developing with nRF53 (which is actually based on Zephyr project). I'm quite new to Zephyr and I opened the LVGL example for nRF52840. But I'm using a different display driver and I cannot find a way how to change it. The information in the documentation is quite poor for this topic. Is there a plan to also move to LVGL version 7, as the one that is used now is version 6. 

Many thanks!


API meeting: agenda

Carles Cufi
 


LVGL support and more examples

lazar.chervenkov@...
 

Hi there,

I've been using LVGL for creating GUIs together with Nordic nRF5 SDK. I have to move to nRF Connect SDK for developing with nRF53 (which is actually based on Zephyr project). I'm quite new to Zephyr and I opened the LVGL example for nRF52840. But I'm using a different display driver and I cannot find a way how to change it. The information in the documentation is quite poor for this topic. Is there a plan to also move to LVGL version 7, as the one that is used now is version 6. 

Many thanks!


Network forum agenda

Jukka Rissanen
 

Hi all,

There is a network forum meeting today 4 Aug at 8AM PDT / 17.00 CET.

Agenda:

- Making the new TCP stack the default. See
https://github.com/zephyrproject-rtos/zephyr/pull/27208 for details.

- Network stack testing. Maxwell Pro license just expired, any
volunteers to start using it. Discussion how to do network testing in
the future.

If you have anything else you want to discuss, please let me know.

Link to the Teams meeting:

https://teams.microsoft.com/l/meetup-join/19%3ameeting_NDU5ODRkNzktZDBmNC00MDg5LWI2OWEtNzM0MGZjMDU0Yjgw%40thread.v2/0?context=%7b%22Tid%22%3a%22af0096d9-700c-411a-b795-b3dd7122bad2%22%2c%22Oid%22%3a%22841a7c92-7816-4faf-9887-5e334e88f6d8%22%7d


Cheers,
Jukka


Re: Adding support for Nordic PDM Driver in Devicetree #pdm #driver #nrf52832

Bolivar, Marti
 

"Frederik David Damsgaard Popp via lists.zephyrproject.org"
<frdm=demant.com@...> writes:

Hi Martí

Thank you for your detailed answer! This was a great help
You're welcome!





Strictly speaking, actual drivers -- as in drivers/subsystem/my_driver.c
files -- are enabled using Kconfig, not devicetree. So
CONFIG_MY_DRIVER=y in Kconfig means "enable my driver," which means
something like "compile my_driver.c."


I think I get it now. The dts must specify whether or not the PDM hardware is available on the given board, and if so, what pins etc.
The Kconfig are used to enable the driver to use for the application,
and the CMakeLists includes the correct sources, based on whether the
implementation should be either nrfx or some other implementation.
Correct.





config MY_AUDIO_DRIVER
bool
default $(dt_compat_enabled,$(DT_COMPAT_NORDIC_NRF_PDM))
help
Enable my audio driver.

It looks like someone already prepared the setup for a PDM driver, since the SOC Kconfig defines a HAS_HW_NRF_PDM, which means I could depend on that?
I tried something like this:

config PDM_NRFX
bool "nRF PDM nrfx driver"
default y
depends on HAS_HW_NRF_PDM
select NRFX_PDM
help
Enable support for nrfx Hardware PDM driver for nRF52 MCU series.

Totally based off of the PWM Kconfig, but it should work right?
Those HAS_HW_NRF_* options are slated for removal at some point:

https://github.com/zephyrproject-rtos/zephyr/issues/8481

It would be better not to add more uses of them, especially if this work
is going upstream.





It looks like there is already a dts/bindings/audio/nordic,nrf-pdm.yaml
file, though, so it doesn't seem like you need to define your own
binding. I didn't find any drivers for it in the upstream tree, though.

I took a look at the pwm_nrfx driver, which seems to act as a sort of wrapper for the nrfx_pwm driver in the Nordic HAL module.
I assume that I would have to do something similar, as there already
is a pdm driver in the Nordic HAL module?
That is the "shim driver" approach, yes. It's a perfectly valid way of
doing things in Zephyr.

This way I would take an already implemented PDM driver for Nordic chipsets (such as the nRF52832 on the Nordic Thingy 52), and incorporate it into the Zephyr system, and making it hardware agnostic.
The remaining thing to do, is then modify the devicetree for the Nordic devices that actually have PDM hardware, so that the driver can be used for these boards.

Again, I'm working this stuff out as I go, and this is the method I found so far, but I think it makes sense.
I would love to hear your (or anyone else with some knowledge on this)
input, to make sure I'm on the right path.
At least the nRF5340 and nRF9160 SoC DTSI files have pdm nodes defined.
If you need to add them for other SoCs, the existing definitions may be
a good starting point.

Martí


Best
Frederik


Re: Sharing a driver between similar devices

Bolivar, Marti
 

Michael Hope <michaelh@...> writes:

On Fri, 24 Jul 2020 at 22:06, Bolivar, Marti <Marti.Bolivar@...>
wrote:

Hi Michael,

"Michael Hope via lists.zephyrproject.org"
<michaelh=juju.nz@...> writes:

Hi there. I'm porting Zephyr to the Arduino Nano 33 IOT. The board has
a
LSM6DS3 IMU which is very similar to the LSM6DSL that's already supported
by Zephyr and I'd like to re-use it.

I've refactored [1] the lsm6dsl driver to be multi-instance. What's the
best way of then using the same driver for two different compats? The
best
I've come up with is [2] but that has name collision issues.
Have you tried to set some state in the config structure based on the
value of DT_NODE_HAS_COMPAT(DT_DRV_INST(your_instance_number),
some_compat)?
That sounds good.

The second part of the problem is iterating over both the lsm6dsl and
lsm6ds3 types. Doing two DT_INST_FOREACH_STATUS_OKAY(fn), one for each
compat, can give name collisions. Any ideas?
Could you please describe the collisions in more detail? I checked the
patch in your footnote [2] below but I'm not seeing the issue, sorry.

Taking a guess, though, if there's an issue with naming a global
variable for a device config or data field within the "fn" expansion,
perhaps pasting DT_DRV_COMPAT onto the relevant variable names using the
## preprocessor operator is a fix?

Thanks,
Martí


-- Michael



Note that the chips also have a different WHO_AM_I value, so need very
slightly different configuration.
E.g. setting the WHO_AM_I in your config struct based on this, and using
that in your init functions to disambiguate.


[1]: https://github.com/zephyrproject-rtos/zephyr/pull/27064
[2]:
https://github.com/zephyrproject-rtos/zephyr/commit/cd65c39b3eeaa0d21ba90c30b13e4ca2952a6723

-- Michael
Thanks,
Martí



Updated Latest Progress Error....[Zephyr-devel] Python Interpreter for Zephyr

Muhammad Muh <muhammad.muh83@...>
 

Dear Maureen and Jrosenth, 

Now when I run the "make" command for the  python Blinky example, I got the following error. Request to please advise.

make BOARD=nrf52840dk_nrf52840

Use make V=1 or set BUILD_VERBOSE in your environment to increase build verbosity.

Warning: FROZEN_DIR is deprecated in favour of FROZEN_MANIFEST

mkdir -p outdir/nrf52840dk_nrf52840 && cmake -DBOARD=nrf52840dk_nrf52840 -Boutdir/nrf52840dk_nrf52840 -H.

Including boilerplate (Zephyr workspace): /home/muhammad/zephyrproject/zephyr/cmake/app/boilerplate.cmake

-- Application: /home/muhammad/zephyrproject/micropython/ports/zephyr

-- Zephyr version: 2.3.99 (/home/muhammad/zephyrproject/zephyr)

-- Found Python3: /usr/bin/python3.7 (found suitable exact version "3.7.5") found components: Interpreter

-- Board: nrf52840dk_nrf52840

ZEPHYR_TOOLCHAIN_VARIANT not set, trying to locate Zephyr SDK

-- Found toolchain: zephyr (/home/muhammad/zephyr-sdk-0.11.3riz)

-- Found west: /home/muhammad/.local/bin/west (found suitable version "0.7.2", minimum required is "0.7.1")

-- Found dtc: /home/muhammad/zephyr-sdk-0.11.3riz/sysroots/x86_64-pokysdk-linux/usr/bin/dtc (found suitable version "1.5.0", minimum required is "1.4.6")

-- Found BOARD.dts: /home/muhammad/zephyrproject/zephyr/boards/arm/nrf52840dk_nrf52840/nrf52840dk_nrf52840.dts

-- Generated zephyr.dts: /home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840/zephyr/zephyr.dts

-- Generated devicetree_unfixed.h: /home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840/zephyr/include/generated/devicetree_unfixed.h

Parsing /home/muhammad/zephyrproject/zephyr/Kconfig

Loaded configuration '/home/muhammad/zephyrproject/zephyr/boards/arm/nrf52840dk_nrf52840/nrf52840dk_nrf52840_defconfig'

Merged configuration '/home/muhammad/zephyrproject/micropython/ports/zephyr/prj.conf'

Configuration saved to '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840/zephyr/.config'

Kconfig header saved to '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840/zephyr/include/generated/autoconf.h'


warning: TEST_RANDOM_GENERATOR (defined at subsys/random/Kconfig:8) was assigned the value 'y' but

got the value 'n'. Check these unsatisfied dependencies: (!ENTROPY_HAS_DRIVER) (=n). See

http://docs.zephyrproject.org/latest/reference/kconfig/CONFIG_TEST_RANDOM_GENERATOR.html and/or look

up TEST_RANDOM_GENERATOR in the menuconfig/guiconfig interface. The Application Development Primer,

Setting Configuration Values, and Kconfig - Tips and Best Practices sections of the manual might be

helpful too.


-- The C compiler identification is GNU 9.2.0

-- The CXX compiler identification is GNU 9.2.0

-- The ASM compiler identification is GNU

-- Found assembler: /home/muhammad/zephyr-sdk-0.11.3riz/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc

-- Cache files will be written to: /home/muhammad/.cache/zephyr

-- Configuring done

-- Generating done

-- Build files have been written to: /home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840

make --no-print-directory -C outdir/nrf52840dk_nrf52840 outputexports CMAKE_COMMAND=: >outdir/nrf52840dk_nrf52840/Makefile.export

make -C outdir/nrf52840dk_nrf52840 syscall_list_h_target kobj_types_h_target

make[1]: Entering directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

make[2]: Entering directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

make[3]: Entering directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

make[4]: Entering directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

Scanning dependencies of target parse_syscalls_target

make[4]: Leaving directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

make[4]: Entering directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

[ 25%] Generating misc/generated/syscalls.json, misc/generated/struct_tags.json

make[4]: Leaving directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

[ 50%] Built target parse_syscalls_target

make[4]: Entering directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

Scanning dependencies of target syscall_list_h_target

make[4]: Leaving directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

make[4]: Entering directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

[ 75%] Generating include/generated/syscall_dispatch.c, include/generated/syscall_list.h

make[4]: Leaving directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

[100%] Built target syscall_list_h_target

make[3]: Leaving directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

make[2]: Leaving directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

make[2]: Entering directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

make[3]: Entering directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

make[4]: Entering directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

make[4]: Leaving directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

[ 66%] Built target parse_syscalls_target

make[4]: Entering directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

Scanning dependencies of target kobj_types_h_target

make[4]: Leaving directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

make[4]: Entering directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

[100%] Generating include/generated/kobj-types-enum.h, include/generated/otype-to-str.h

make[4]: Leaving directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

[100%] Built target kobj_types_h_target

make[3]: Leaving directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

make[2]: Leaving directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

make[1]: Leaving directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

Use make V=1 or set BUILD_VERBOSE in your environment to increase build verbosity.

Warning: FROZEN_DIR is deprecated in favour of FROZEN_MANIFEST

CC ../../py/mpstate.c

CC ../../py/nlr.c

CC ../../py/nlrx86.c

CC ../../py/nlrx64.c

CC ../../py/nlrthumb.c

CC ../../py/nlrpowerpc.c

CC ../../py/nlrxtensa.c

CC ../../py/nlrsetjmp.c

CC ../../py/malloc.c

CC ../../py/gc.c

CC ../../py/pystack.c

CC ../../py/qstr.c

CC ../../py/vstr.c

CC ../../py/mpprint.c

CC ../../py/unicode.c

CC ../../py/mpz.c

CC ../../py/reader.c

CC ../../py/lexer.c

CC ../../py/parse.c

CC ../../py/scope.c

CC ../../py/compile.c

CC ../../py/emitcommon.c

CC ../../py/emitbc.c

CC ../../py/asmbase.c

CC ../../py/asmx64.c

CC ../../py/emitnx64.c

CC ../../py/asmx86.c

CC ../../py/emitnx86.c

CC ../../py/asmthumb.c

CC ../../py/emitnthumb.c

CC ../../py/emitinlinethumb.c

CC ../../py/asmarm.c

CC ../../py/emitnarm.c

CC ../../py/asmxtensa.c

CC ../../py/emitnxtensa.c

CC ../../py/emitinlinextensa.c

CC ../../py/emitnxtensawin.c

CC ../../py/formatfloat.c

CC ../../py/parsenumbase.c

CC ../../py/parsenum.c

CC ../../py/emitglue.c

CC ../../py/persistentcode.c

CC ../../py/runtime.c

CC ../../py/runtime_utils.c

CC ../../py/scheduler.c

CC ../../py/nativeglue.c

CC ../../py/pairheap.c

CC ../../py/ringbuf.c

CC ../../py/stackctrl.c

CC ../../py/argcheck.c

CC ../../py/warning.c

CC ../../py/profile.c

CC ../../py/map.c

CC ../../py/obj.c

CC ../../py/objarray.c

CC ../../py/objattrtuple.c

CC ../../py/objbool.c

CC ../../py/objboundmeth.c

CC ../../py/objcell.c

CC ../../py/objclosure.c

CC ../../py/objcomplex.c

CC ../../py/objdeque.c

CC ../../py/objdict.c

CC ../../py/objenumerate.c

CC ../../py/objexcept.c

CC ../../py/objfilter.c

CC ../../py/objfloat.c

CC ../../py/objfun.c

CC ../../py/objgenerator.c

CC ../../py/objgetitemiter.c

CC ../../py/objint.c

CC ../../py/objint_longlong.c

CC ../../py/objint_mpz.c

CC ../../py/objlist.c

CC ../../py/objmap.c

CC ../../py/objmodule.c

CC ../../py/objobject.c

CC ../../py/objpolyiter.c

CC ../../py/objproperty.c

CC ../../py/objnone.c

CC ../../py/objnamedtuple.c

CC ../../py/objrange.c

CC ../../py/objreversed.c

CC ../../py/objset.c

CC ../../py/objsingleton.c

CC ../../py/objslice.c

CC ../../py/objstr.c

CC ../../py/objstrunicode.c

CC ../../py/objstringio.c

CC ../../py/objtuple.c

CC ../../py/objtype.c

CC ../../py/objzip.c

CC ../../py/opmethods.c

CC ../../py/sequence.c

CC ../../py/stream.c

CC ../../py/binary.c

CC ../../py/builtinimport.c

CC ../../py/builtinevex.c

CC ../../py/builtinhelp.c

CC ../../py/modarray.c

CC ../../py/modbuiltins.c

CC ../../py/modcollections.c

CC ../../py/modgc.c

CC ../../py/modio.c

CC ../../py/modmath.c

CC ../../py/modcmath.c

CC ../../py/modmicropython.c

CC ../../py/modstruct.c

CC ../../py/modsys.c

CC ../../py/moduerrno.c

CC ../../py/modthread.c

CC ../../py/vm.c

CC ../../py/bc.c

CC ../../py/showbc.c

CC ../../py/repl.c

CC ../../py/smallint.c

CC ../../py/frozenmod.c

CC ../../extmod/moduasyncio.c

CC ../../extmod/moductypes.c

CC ../../extmod/modujson.c

CC ../../extmod/modure.c

CC ../../extmod/moduzlib.c

CC ../../extmod/moduheapq.c

CC ../../extmod/modutimeq.c

CC ../../extmod/moduhashlib.c

CC ../../extmod/moducryptolib.c

CC ../../extmod/modubinascii.c

CC ../../extmod/virtpin.c

CC ../../extmod/machine_mem.c

CC ../../extmod/machine_pinbase.c

CC ../../extmod/machine_signal.c

CC ../../extmod/machine_pulse.c

CC ../../extmod/machine_i2c.c

CC ../../extmod/machine_spi.c

CC ../../extmod/modbluetooth.c

CC ../../extmod/modussl_axtls.c

CC ../../extmod/modussl_mbedtls.c

CC ../../extmod/modurandom.c

CC ../../extmod/moduselect.c

CC ../../extmod/moduwebsocket.c

CC ../../extmod/modwebrepl.c

CC ../../extmod/modframebuf.c

CC ../../extmod/vfs.c

CC ../../extmod/vfs_blockdev.c

CC ../../extmod/vfs_reader.c

CC ../../extmod/vfs_posix.c

CC ../../extmod/vfs_posix_file.c

CC ../../extmod/vfs_fat.c

CC ../../extmod/vfs_fat_diskio.c

CC ../../extmod/vfs_fat_file.c

CC ../../extmod/vfs_lfs.c

CC ../../extmod/utime_mphal.c

CC ../../extmod/uos_dupterm.c

CC ../../lib/embed/abort_.c

CC ../../lib/utils/printf.c

CC build/frozen.c

CC main.c

main.c: In function 'vfs_init':

main.c:108:63: error: missing binary operator before token "("

108 | #elif defined(CONFIG_FLASH_MAP) && FLASH_AREA_LABEL_EXISTS(storage)

| ^

make: *** [../../py/mkrules.mk:63: build/main.o] Error 1


Best Regards


From: Muhammad Muh <muhammad.muh83@...>
Sent: Monday, August 3, 2020 1:53 PM
To: Maureen Helm (OSS) <maureen.helm@...>; jrosenth@... <jrosenth@...>
Cc: devel@... <devel@...>
Subject: Latest Progress....[Zephyr-devel] Python Interpreter for Zephyr
 
Dear Maureen and Jrosenth,

Thank you very much for your kind help. I am using the latest version of Zephyr (as shown in bold in the following code) and also I downloaded the micropython in the Zephyr Project Folder from "git clone https://github.com/micropython/micropython.git". Now I want to run a blink led example to test the Micropython functionality by using the example given in the link "https://github.com/micropython/micropython/tree/master/ports/zephyr". When I run the "make" command I am getting the following error as shown at the end of the following code. Please note I am using nrf52840 dk. Request to please advise.

make BOARD=nrf52840dk_nrf52840

Use make V=1 or set BUILD_VERBOSE in your environment to increase build verbosity.

Warning: FROZEN_DIR is deprecated in favour of FROZEN_MANIFEST

mkdir -p outdir/nrf52840dk_nrf52840 && cmake -DBOARD=nrf52840dk_nrf52840 -Boutdir/nrf52840dk_nrf52840 -H.

Including boilerplate (Zephyr base): /home/muhammad/zephyrproject/zephyr/cmake/app/boilerplate.cmake

-- Application: /home/muhammad/zephyrproject/micropython/ports/zephyr

-- Zephyr version: 2.3.99 (/home/muhammad/zephyrproject/zephyr)

-- Found Python3: /usr/bin/python3.7 (found suitable exact version "3.7.5") found components: Interpreter

-- Board: nrf52840dk_nrf52840

-- Found toolchain: zephyr (/home/muhammad/zephyr-sdk-0.11.3)

-- Found west: /home/muhammad/.local/bin/west (found suitable version "0.7.2", minimum required is "0.7.1")

-- Found dtc: /home/muhammad/zephyr-sdk-0.11.3/sysroots/x86_64-pokysdk-linux/usr/bin/dtc (found suitable version "1.5.0", minimum required is "1.4.6")

-- Found BOARD.dts: /home/muhammad/zephyrproject/zephyr/boards/arm/nrf52840dk_nrf52840/nrf52840dk_nrf52840.dts

-- Generated zephyr.dts: /home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840/zephyr/zephyr.dts

-- Generated devicetree_unfixed.h: /home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840/zephyr/include/generated/devicetree_unfixed.h

Parsing /home/muhammad/zephyrproject/zephyr/Kconfig

Loaded configuration '/home/muhammad/zephyrproject/zephyr/boards/arm/nrf52840dk_nrf52840/nrf52840dk_nrf52840_defconfig'

Merged configuration '/home/muhammad/zephyrproject/micropython/ports/zephyr/prj.conf'

Configuration saved to '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840/zephyr/.config'

Kconfig header saved to '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840/zephyr/include/generated/autoconf.h'


warning: TEST_RANDOM_GENERATOR (defined at subsys/random/Kconfig:8) was assigned the value 'y' but

got the value 'n'. Check these unsatisfied dependencies: (!ENTROPY_HAS_DRIVER) (=n). See

http://docs.zephyrproject.org/latest/reference/kconfig/CONFIG_TEST_RANDOM_GENERATOR.html and/or look

up TEST_RANDOM_GENERATOR in the menuconfig/guiconfig interface. The Application Development Primer,

Setting Configuration Values, and Kconfig - Tips and Best Practices sections of the manual might be

helpful too.


-- The C compiler identification is GNU 9.2.0

-- The CXX compiler identification is GNU 9.2.0

-- The ASM compiler identification is GNU

-- Found assembler: /home/muhammad/zephyr-sdk-0.11.3/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc

-- Cache files will be written to: /home/muhammad/.cache/zephyr

-- Configuring done

-- Generating done

-- Build files have been written to: /home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840

make --no-print-directory -C outdir/nrf52840dk_nrf52840 outputexports CMAKE_COMMAND=: >outdir/nrf52840dk_nrf52840/Makefile.export

make -C outdir/nrf52840dk_nrf52840 syscall_list_h_target kobj_types_h_target

make[1]: Entering directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

make[2]: Entering directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

make[3]: Entering directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

make[4]: Entering directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

Scanning dependencies of target parse_syscalls_target

make[4]: Leaving directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

make[4]: Entering directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

[ 25%] Generating misc/generated/syscalls.json, misc/generated/struct_tags.json

make[4]: Leaving directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

[ 50%] Built target parse_syscalls_target

make[4]: Entering directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

Scanning dependencies of target syscall_list_h_target

make[4]: Leaving directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

make[4]: Entering directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

[ 75%] Generating include/generated/syscall_dispatch.c, include/generated/syscall_list.h

make[4]: Leaving directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

[100%] Built target syscall_list_h_target

make[3]: Leaving directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

make[2]: Leaving directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

make[2]: Entering directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

make[3]: Entering directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

make[4]: Entering directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

make[4]: Leaving directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

[ 66%] Built target parse_syscalls_target

make[4]: Entering directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

Scanning dependencies of target kobj_types_h_target

make[4]: Leaving directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

make[4]: Entering directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

[100%] Generating include/generated/kobj-types-enum.h, include/generated/otype-to-str.h

make[4]: Leaving directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

[100%] Built target kobj_types_h_target

make[3]: Leaving directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

make[2]: Leaving directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

make[1]: Leaving directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

Use make V=1 or set BUILD_VERBOSE in your environment to increase build verbosity.

Warning: FROZEN_DIR is deprecated in favour of FROZEN_MANIFEST

GEN build/genhdr/qstr.i.last

main.c:108:63: error: missing binary operator before token "("

108 | #elif defined(CONFIG_FLASH_MAP) && FLASH_AREA_LABEL_EXISTS(storage)

| ^

make: *** [../../py/mkrules.mk:89: build/genhdr/qstr.i.last] Error 1

make: *** Deleting file 'build/genhdr/qstr.i.last'



Best Regards





From: Muhammad Muh <muhammad.muh83@...>
Sent: Monday, August 3, 2020 10:11 AM
To: Maureen Helm (OSS) <maureen.helm@...>; jrosenth@... <jrosenth@...>
Cc: devel@... <devel@...>
Subject: Re: [Zephyr-devel] Python Interpreter for Zephyr
 
Dear Maureen,

Thank you very much for your response. I have installed the latest Zephyr version from the Zephyr Projects webpage. It is requested to guide me as how to run the sample Micropython program given in the following link.

Best Regards


From: Maureen Helm (OSS) <maureen.helm@...>
Sent: Friday, July 31, 2020 12:25 AM
To: Muhammad Muh <muhammad.muh83@...>; jrosenth@... <jrosenth@...>
Cc: devel@... <devel@...>
Subject: RE: [Zephyr-devel] Python Interpreter for Zephyr
 

Hi Muhammad,

Please use the Zephyr 2.3.0 release with MicroPython instead of Zephyr master.

 

Maureen

 

From: Muhammad Muh <muhammad.muh83@...>
Sent: Wednesday, July 29, 2020 11:49 PM
To: Maureen Helm (OSS) <maureen.helm@...>; jrosenth@...
Cc: devel@...
Subject: Re: [Zephyr-devel] Python Interpreter for Zephyr

 

Hi Maureen and Jrosenth,

 

Thank you for your kind response to my question. I have downloaded the Micropython from the given link. Now I have followed the steps given in the Read Me file given in micropython-master/ports/zephyr, I am getting the following errors, request to please help me in resolving this issue. Thank you.

 

Use make V=1 or set BUILD_VERBOSE in your environment to increase build verbosity.

Warning: FROZEN_DIR is deprecated in favour of FROZEN_MANIFEST

GEN build/genhdr/qstr.i.last

main.c:108:63: error: missing binary operator before token "("

  108 |     #elif defined(CONFIG_FLASH_MAP) && FLASH_AREA_LABEL_EXISTS(storage)

      |                                                               ^

make: *** [../../py/mkrules.mk:89: build/genhdr/qstr.i.last] Error 1

make: *** Deleting file 'build/genhdr/qstr.i.last'

 

Best Regards

 

 

 


From: Maureen Helm (OSS) <maureen.helm@...>
Sent: Wednesday, July 29, 2020 4:06 AM
To: jrosenth@... <jrosenth@...>; Muhammad Muh <muhammad.muh83@...>
Cc: devel@... <devel@...>
Subject: RE: [Zephyr-devel] Python Interpreter for Zephyr

 

There is already a MicroPython port for Zephyr:

https://github.com/micropython/micropython/tree/master/ports/zephyr

 

From: devel@... <devel@...> On Behalf Of Jack Rosenthal via lists.zephyrproject.org
Sent: Monday, July 27, 2020 10:24 AM
To: Muhammad Muh <muhammad.muh83@...>
Cc: devel@...
Subject: Re: [Zephyr-devel] Python Interpreter for Zephyr

 

You could try porting MicroPython to run on Zephyr if it meets your needs. Note that you're looking at a minimum of ~150KB of extra flash space usage, depending on architecture, which features you enable, etc.

 

On Mon, Jul 27, 2020 at 12:26 AM Muhammad Muh <muhammad.muh83@...> wrote:

Hi,

 

I hope you will be fine and in best of the health. I have a small query. If I want to run Python application on top of Zephyr, does Zephyr has the Python interpreter to run a python based application on top of Zephyr?

 

Please advice. Thank you.

 

Best Regards

 


Latest Progress....[Zephyr-devel] Python Interpreter for Zephyr

Muhammad Muh <muhammad.muh83@...>
 

Dear Maureen and Jrosenth,

Thank you very much for your kind help. I am using the latest version of Zephyr (as shown in bold in the following code) and also I downloaded the micropython in the Zephyr Project Folder from "git clone https://github.com/micropython/micropython.git". Now I want to run a blink led example to test the Micropython functionality by using the example given in the link "https://github.com/micropython/micropython/tree/master/ports/zephyr". When I run the "make" command I am getting the following error as shown at the end of the following code. Please note I am using nrf52840 dk. Request to please advise.

make BOARD=nrf52840dk_nrf52840

Use make V=1 or set BUILD_VERBOSE in your environment to increase build verbosity.

Warning: FROZEN_DIR is deprecated in favour of FROZEN_MANIFEST

mkdir -p outdir/nrf52840dk_nrf52840 && cmake -DBOARD=nrf52840dk_nrf52840 -Boutdir/nrf52840dk_nrf52840 -H.

Including boilerplate (Zephyr base): /home/muhammad/zephyrproject/zephyr/cmake/app/boilerplate.cmake

-- Application: /home/muhammad/zephyrproject/micropython/ports/zephyr

-- Zephyr version: 2.3.99 (/home/muhammad/zephyrproject/zephyr)

-- Found Python3: /usr/bin/python3.7 (found suitable exact version "3.7.5") found components: Interpreter

-- Board: nrf52840dk_nrf52840

-- Found toolchain: zephyr (/home/muhammad/zephyr-sdk-0.11.3)

-- Found west: /home/muhammad/.local/bin/west (found suitable version "0.7.2", minimum required is "0.7.1")

-- Found dtc: /home/muhammad/zephyr-sdk-0.11.3/sysroots/x86_64-pokysdk-linux/usr/bin/dtc (found suitable version "1.5.0", minimum required is "1.4.6")

-- Found BOARD.dts: /home/muhammad/zephyrproject/zephyr/boards/arm/nrf52840dk_nrf52840/nrf52840dk_nrf52840.dts

-- Generated zephyr.dts: /home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840/zephyr/zephyr.dts

-- Generated devicetree_unfixed.h: /home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840/zephyr/include/generated/devicetree_unfixed.h

Parsing /home/muhammad/zephyrproject/zephyr/Kconfig

Loaded configuration '/home/muhammad/zephyrproject/zephyr/boards/arm/nrf52840dk_nrf52840/nrf52840dk_nrf52840_defconfig'

Merged configuration '/home/muhammad/zephyrproject/micropython/ports/zephyr/prj.conf'

Configuration saved to '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840/zephyr/.config'

Kconfig header saved to '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840/zephyr/include/generated/autoconf.h'


warning: TEST_RANDOM_GENERATOR (defined at subsys/random/Kconfig:8) was assigned the value 'y' but

got the value 'n'. Check these unsatisfied dependencies: (!ENTROPY_HAS_DRIVER) (=n). See

http://docs.zephyrproject.org/latest/reference/kconfig/CONFIG_TEST_RANDOM_GENERATOR.html and/or look

up TEST_RANDOM_GENERATOR in the menuconfig/guiconfig interface. The Application Development Primer,

Setting Configuration Values, and Kconfig - Tips and Best Practices sections of the manual might be

helpful too.


-- The C compiler identification is GNU 9.2.0

-- The CXX compiler identification is GNU 9.2.0

-- The ASM compiler identification is GNU

-- Found assembler: /home/muhammad/zephyr-sdk-0.11.3/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc

-- Cache files will be written to: /home/muhammad/.cache/zephyr

-- Configuring done

-- Generating done

-- Build files have been written to: /home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840

make --no-print-directory -C outdir/nrf52840dk_nrf52840 outputexports CMAKE_COMMAND=: >outdir/nrf52840dk_nrf52840/Makefile.export

make -C outdir/nrf52840dk_nrf52840 syscall_list_h_target kobj_types_h_target

make[1]: Entering directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

make[2]: Entering directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

make[3]: Entering directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

make[4]: Entering directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

Scanning dependencies of target parse_syscalls_target

make[4]: Leaving directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

make[4]: Entering directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

[ 25%] Generating misc/generated/syscalls.json, misc/generated/struct_tags.json

make[4]: Leaving directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

[ 50%] Built target parse_syscalls_target

make[4]: Entering directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

Scanning dependencies of target syscall_list_h_target

make[4]: Leaving directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

make[4]: Entering directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

[ 75%] Generating include/generated/syscall_dispatch.c, include/generated/syscall_list.h

make[4]: Leaving directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

[100%] Built target syscall_list_h_target

make[3]: Leaving directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

make[2]: Leaving directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

make[2]: Entering directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

make[3]: Entering directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

make[4]: Entering directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

make[4]: Leaving directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

[ 66%] Built target parse_syscalls_target

make[4]: Entering directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

Scanning dependencies of target kobj_types_h_target

make[4]: Leaving directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

make[4]: Entering directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

[100%] Generating include/generated/kobj-types-enum.h, include/generated/otype-to-str.h

make[4]: Leaving directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

[100%] Built target kobj_types_h_target

make[3]: Leaving directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

make[2]: Leaving directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

make[1]: Leaving directory '/home/muhammad/zephyrproject/micropython/ports/zephyr/outdir/nrf52840dk_nrf52840'

Use make V=1 or set BUILD_VERBOSE in your environment to increase build verbosity.

Warning: FROZEN_DIR is deprecated in favour of FROZEN_MANIFEST

GEN build/genhdr/qstr.i.last

main.c:108:63: error: missing binary operator before token "("

108 | #elif defined(CONFIG_FLASH_MAP) && FLASH_AREA_LABEL_EXISTS(storage)

| ^

make: *** [../../py/mkrules.mk:89: build/genhdr/qstr.i.last] Error 1

make: *** Deleting file 'build/genhdr/qstr.i.last'



Best Regards





From: Muhammad Muh <muhammad.muh83@...>
Sent: Monday, August 3, 2020 10:11 AM
To: Maureen Helm (OSS) <maureen.helm@...>; jrosenth@... <jrosenth@...>
Cc: devel@... <devel@...>
Subject: Re: [Zephyr-devel] Python Interpreter for Zephyr
 
Dear Maureen,

Thank you very much for your response. I have installed the latest Zephyr version from the Zephyr Projects webpage. It is requested to guide me as how to run the sample Micropython program given in the following link.

Best Regards


From: Maureen Helm (OSS) <maureen.helm@...>
Sent: Friday, July 31, 2020 12:25 AM
To: Muhammad Muh <muhammad.muh83@...>; jrosenth@... <jrosenth@...>
Cc: devel@... <devel@...>
Subject: RE: [Zephyr-devel] Python Interpreter for Zephyr
 

Hi Muhammad,

Please use the Zephyr 2.3.0 release with MicroPython instead of Zephyr master.

 

Maureen

 

From: Muhammad Muh <muhammad.muh83@...>
Sent: Wednesday, July 29, 2020 11:49 PM
To: Maureen Helm (OSS) <maureen.helm@...>; jrosenth@...
Cc: devel@...
Subject: Re: [Zephyr-devel] Python Interpreter for Zephyr

 

Hi Maureen and Jrosenth,

 

Thank you for your kind response to my question. I have downloaded the Micropython from the given link. Now I have followed the steps given in the Read Me file given in micropython-master/ports/zephyr, I am getting the following errors, request to please help me in resolving this issue. Thank you.

 

Use make V=1 or set BUILD_VERBOSE in your environment to increase build verbosity.

Warning: FROZEN_DIR is deprecated in favour of FROZEN_MANIFEST

GEN build/genhdr/qstr.i.last

main.c:108:63: error: missing binary operator before token "("

  108 |     #elif defined(CONFIG_FLASH_MAP) && FLASH_AREA_LABEL_EXISTS(storage)

      |                                                               ^

make: *** [../../py/mkrules.mk:89: build/genhdr/qstr.i.last] Error 1

make: *** Deleting file 'build/genhdr/qstr.i.last'

 

Best Regards

 

 

 


From: Maureen Helm (OSS) <maureen.helm@...>
Sent: Wednesday, July 29, 2020 4:06 AM
To: jrosenth@... <jrosenth@...>; Muhammad Muh <muhammad.muh83@...>
Cc: devel@... <devel@...>
Subject: RE: [Zephyr-devel] Python Interpreter for Zephyr

 

There is already a MicroPython port for Zephyr:

https://github.com/micropython/micropython/tree/master/ports/zephyr

 

From: devel@... <devel@...> On Behalf Of Jack Rosenthal via lists.zephyrproject.org
Sent: Monday, July 27, 2020 10:24 AM
To: Muhammad Muh <muhammad.muh83@...>
Cc: devel@...
Subject: Re: [Zephyr-devel] Python Interpreter for Zephyr

 

You could try porting MicroPython to run on Zephyr if it meets your needs. Note that you're looking at a minimum of ~150KB of extra flash space usage, depending on architecture, which features you enable, etc.

 

On Mon, Jul 27, 2020 at 12:26 AM Muhammad Muh <muhammad.muh83@...> wrote:

Hi,

 

I hope you will be fine and in best of the health. I have a small query. If I want to run Python application on top of Zephyr, does Zephyr has the Python interpreter to run a python based application on top of Zephyr?

 

Please advice. Thank you.

 

Best Regards