1 of 1 people found this helpful
If you want to use the Edison with the Arduino Expansion board, you have to use the next documentation:
About your second question, have you tried to create a C-code or a bash script to interact with the GPIO.
You can use mraa and C programming like this example
Or you can create a script using indications like the ones in Section 11 from the Hardware Guide
Is this helpful or do you need an application at a lower level than this?
Thanks for the reply CMata_Intel! I will ask to my teacher if it's correct enough, but I think it stills being too high-level coding.
This is the code we used to blink the LED at the _freedom KL25Z_:
// Configurating PORTB's _clock gating_ using a defined bit-mask.
SIM_BASE_PTR->SCGC5 |= SIM_SCGC5_PORTB_MASK;
// Setting PCR's multiplexor to address the pointer at LED's pin.
PORTB_BASE_PTR->PCR = PORT_PCR_MUX(1);
// Using an OR to enable 18th bit of PDDR.
PTB_BASE_PTR->PDDR |= 1 << 18;
A few moments ago, my teacher gave us a manual to use _bare metal_ with an Arduino. We should use a library called "AVR" to program the MCU and Arduino's IDE. Any advice?
The AVR library that your teacher is talking about is specific to the Atmel AVR series of Microcontroller which are used on the arduino UNO and DUO boards to allow access to the Io pins. this is the similar to the mraa library which is the Edison equivalent in the eclipse environment . Is your teacher wanting to use the Atmel AVR? I would suggest that you show him the user guide for the Edison to see if it is ok to use. if it is show him the programming options you have available C , bash , node or Arduino to allow you make the correct choice.
Hi beano04! I appreciate your answer, could you talk me more about this mraa library? Maybe it would be useful for my project and my teacher could let me use it if it's low-level enough. Any examples about how to use it? Tutorials? Anything that could help me to learn how to use it?
mraa is a library for interacting with various features in embedded linux systems. It is almost a necessity for GPIO, SPI, I2C, etc. on the Edison. The documentation for mraa can be found here and the github can be found here. mraa abstracts the low level stuff away so that is works the same on many platforms so it probably won't be low enough for your professor. In fact, most programming for the Edison if you are still working with linux will most likely not be low level enough for your professor as it sounds like you are learning about how to program embedded microprocessors.
Now, I think you really should not be looking at the Edison for your school project. I believe to do bare metal programming on the Edison would be difficult at best because of the limited documentation out about what exactly is in the Edison and how it all connects. I would suggest sticking with the KL25Z or an AVR based Arduino for your school project and learning more about programming for the Edison in a linux environment in your own time.
I totally agree with yodal that the Edison is not the best device for a school project with its lack of low level documentation. Your teacher would probably want you to be looking at the micro-controllers data-sheet for information on how to bit mask the port IO pins etc and all this information is lacking for the Edison. for the purposes of your school project i would suggest looking at the Arduino Uno board Atmel AVR based which is what your teacher wants and as yodal says it will give you a better understanding of programming embedded system and the design processes involved.
Thank you Yodal and beano04 for the information, I did the project's presentation a few minutes ago and I can asure we will do it with the freedom KL25Z, but I already acquired an Intel Edison for my own projects.
My teacher asked if its inputs are able to be connected directly without welding. How does it connects?
My apologies for the inconveniences, maybe after doing this project I will start "touching" this SoC on a highest level with my ideas.
Again, thanks to everyone for the answers!