I'm coming to Edison from a MCU developer (i.e STM32...).
I've read the document of Edison for co_operation between CPU and MCU.
But there is less resources opend for developer, like Timer,DMA, Interrupt .....so developer will cost MCU much time to interface with external devices in lower efficiency.
For example, measuring a pulse width, timer_waked task,,,,,
Is there more resource to develop MCU deeply ?
The Intel Edison board contains an internal microcontroller unit (MCU) as you know. The MCU contains a rich I/O (GPIO, I2C, high-speed UART, DMA and SRAM) it has access to all the GPIO pins. It is beneficial because it provides real-time microsecond delays and real-time applications. See the image attached in order to understand how the Edison compute module works.
If you want to connect sensors you will need an Intel Edison Board- Arduino extension board in order to provide external functionality to the MCU. I recommend to follow this link: https://software.intel.com/en-us/node/557354# Waking_up_the_host_CPU_using_the_MCU https://software.intel.com/en-us/node/557354# Waking_up_the_host_CPU_using_the_MCU in order to start developing your own applications.
I hope you find this information useful, I will be waiting for your reply.
My project is a real time task which will measure pulse width and refresh a 8x8 LED marix and waiting for UART command at the same time.
https://software.intel.com/en-us/articles/using-an-mcu-on-the-intel-edison-board-with-the-ultrasonic... Using an MCU on the Intel® Edison Board with the Ultrasonic Range Sensor | Intel® Software this page descript how to connect HC-SR04 and measure its pulse width ... but not use the time/counter. That means the MCU can do the only one task at a time. The function '
get_distance()' cost all of the time of MCU and ignore any signals else -- like UART command....
I just want to know is there any way to make use of MCU's timer/counter,interrupt, DMA,,,,,,
You are right the MCU application is limited to a single-thread usage, please follow this link in order to know the limitations of the MCU: https://software.intel.com/en-us/node/545142 https://software.intel.com/en-us/node/545142 . In order to achieve your project I would recommend to use both the Host CPU and the MCU. Remember the MCU is used for a real-time response, so use this application with command you need to measure or read faster. I hope you find this information useful, if you have any more technical questions regarding the MCU or the Host CPU in the Edison I will be happy to help.
Have a nice day.
At now the resource of MCU can't meet demand of my project.
Hope there will be more hardware peripheral added in MCU module and more driver released.
Pulse generate/measure is basic function of devices works on. For example, IR decode. I don't want MCU to wait for pulse edge changing for a long time -- there would be more realtime tasks to manage.
I'll study more about this MCU.
Thanks for your feedback, I will make sure to pass your sugestions to the team in charge of reviewing this in order to keep this in mind for future devices. If you have any more questions please let me know.