Community
cancel
Showing results for 
Search instead for 
Did you mean: 
GGan5
New Contributor I
1,633 Views

Possible to upload and run Zephyr Project MCU binary on Edison MCU?

Jump to solution

Hi guys, is it possible to follow the https://www.zephyrproject.org/doc/application/application.html Developer Application Primer posted on Zephyr Project in order to build applications to run on the Edison MCU? Unlike other supported Intel Quark board which only has a dedicated MCU, the Intel Edison has its MCU packaged together with the Dual Core Atom processor. As such we might need an alternate mehod to accessing the MCU on Edison?

I presume the following steps are required?

  • Creating a custom board configuration file since the Edison is not listed under the Zephyr https://www.zephyrproject.org/doc/boards/boards.html official supported board, including pin muxing, driver, etc.
  • Devise a way to upload the compiled output file zephyr.elf file (containing the final combined application and kernel binary) into the location that the Linux kernel on the Atom will read prior to booting up the MCU? It is to my understanding that the MCU is only powered on through the Linux kernel running on Atom and is not run in parallel or independently. Not sure whether attempting this will fully overwrite the default MCU firmware supplied by the official Edison Yocto image?

One question still remains if the aforementioned steps are plausible, will running the Zephyr OS on the Edison MCU also allowing the MCU to access the SPI interface? From Intel Edison MCU SDK page it is stated that both the Atom and the MCU shares their I/O. Yet the support of SPI on the Edison MCU is still in the limelight and unresolved :/

0 Kudos
1 Solution
idata
Community Manager
106 Views

Hello D.Sync,

 

 

Thanks for reaching out!

 

 

As you mentioned, Zephyr does not support Edison or its MCU as stated in https://www.zephyrproject.org/doc/boards/boards.html. The MCU capabilities are limited to those described in https://software.intel.com/en-us/node/545143

 

 

Unfortunately we are not aware of any method of installing Zephyr to Edison or its MCU. If you are still interested in trying, we encourage you to do so and we invite you to post your findings here.

 

 

Pedro M.

View solution in original post

9 Replies
idata
Community Manager
107 Views

Hello D.Sync,

 

 

Thanks for reaching out!

 

 

As you mentioned, Zephyr does not support Edison or its MCU as stated in https://www.zephyrproject.org/doc/boards/boards.html. The MCU capabilities are limited to those described in https://software.intel.com/en-us/node/545143

 

 

Unfortunately we are not aware of any method of installing Zephyr to Edison or its MCU. If you are still interested in trying, we encourage you to do so and we invite you to post your findings here.

 

 

Pedro M.

View solution in original post

Andriy_S_Intel
Employee
106 Views

Intel Corporation kirjoitti:

As you mentioned, Zephyr does not support Edison or its MCU as stated in https://www.zephyrproject.org/doc/boards/boards.html https://www.zephyrproject.org/doc/boards/boards.html. The MCU capabilities are limited to those described in https://software.intel.com/en-us/node/545143 https://software.intel.com/en-us/node/545143

 

Unfortunately we are not aware of any method of installing Zephyr to Edison or its MCU. If you are still interested in trying, we encourage you to do so and we invite you to post your findings here.

 

 

Pedro M.

My recent investigations showed that it's not possible. Viper RTOS and its two applications are coming from IFWI which is signed. Any documentation / code regarding SCU IPC (that is controlling PSH) does not provide a mechanism to replace kernel of RTOS at runtime. There are possible options:

  • poking Intel (tech support, forums, etc) with number of complaints about the case and hoping the things will be changed;
  • try to hack Viper's kernel from its application which is loaded by Linux;
  • suffer with a pain and basically admit that MCU on Edison is mostly useless in current shape.

P.S. We can blame a team which responsible for such a mess that even tech support doesn't know what to answer to people.

FerryT
Valued Contributor I
106 Views

We agree with 0andriy

Our investigations show that we have better chance of real time high speed communication using the CPU with a preempt-rt kernel than using the MCU. Currently the MCU is useless to fill the gap where linux is not real time enough. The MCU does not support high speed communication over the HSU, and the communication channel to the CPU is limited.

After freeing Viper to become Zephyr I expected Edison support to follow or at least support on the Wind River App Helix Cloud as promised shortly after the MCU support emerged.

I am not working for Intel so I don't know what's going on in the kitchen, but from the smell of it, something is burning.

Rapidly upstreaming the linux kernel (thanks Andy), bringing the meta-intel-edison yocto layer to the same (morty) state as meta-intel, and bringing Zephyr support to replace the current stale Viper seems to me the only way to prevent an early death for this otherwise breathtaking platform. This might also help to reduce the support burden, by leveraging the community more. I fail to see what harm could be done by opening things up.

FerryT
Valued Contributor I
106 Views

Dear Intel,

Since no one replies, maybe my request was not clear:

- currently Viper OS is not useful for the typical applications that would benefit from it

- the promised Wind River App Helix Cloud support was never delivered even though promised by Intel

- please find a way so that we would be able to use Zephyr instead. This would allow rapid improvements by the community to finally make the MCU useful.

Andriy_S_Intel
Employee
106 Views

I have got Zephyr x86 compiled natively today (SDK-less) on my Debian 'unstable' desktop. Anybody who is interested can check my repository: https://github.com/andy-shev/zephyr/commits/native https://github.com/andy-shev/zephyr/commits/native

idata
Community Manager
106 Views

Hello FerryT,

 

 

We would like to thank you for your feedback. It has been passed to the corresponding development team, hopefully your requests can be taken into account for future software releases.

 

 

We apologize for any inconvenience this has represented.

 

 

Pedro M.
FerryT
Valued Contributor I
106 Views

0andriy Can we not upload the whole of Zephyr as an application under Viper OS?

Andriy_S_Intel
Employee
106 Views

We can, though we may not. There no nothing will be available to Zephyr, no access to anything. Viper 2.x runs (at least) two threads in one of which it's possible to inject user code based on Midas API (sensor communication library). That's all what there can be done this way. The other way is to replace Viper 2.x / Midas by Zephyr, but here is another (hardware) issues which are already described in current API (some of the stuff can't be faster or can't be done at all without security implications).

FerryT
Valued Contributor I
106 Views

Yeah, I was hoping that it would be possible to change the interrupt vector table to point to Zephyr. But that is probably not allowed on this MCU

Reply