Archive for category Cortex-M3
XDUINO IDE v0.91 notes
Posted by Ram in ARM, compiler, Cortex-M3, development tools, programming on October 8, 2009
Arduino platform has definitely enabled a lot of people including those non-tech savvy ones to enter into the electronics worlds. From the beauty of Arduino, now comes the challenge in making Arduino-like environment accessible across as many hardware platforms as possible. This would enable the simplicity and yet powerful Arduino platform to harvest on more powerful resources provided by different hardware to overcome hardware limitations based on different needs.
This approach will never be fully realized without contributors. So all contributions are welcome. Also, comments/suggestions will be highly appreciated. : -)
Let’s see what wonders we can create together…
Now, a little about me. My name is Ram, I am an independent IT consultant based in Bangkok and really like the Arduino project but it did not fit my needs so I started playing with ARM and manage to understand a bit about it then started this project. Feel free to contact me via the Contact us page : -)
Now as XDUINO-IDE is ready for download, these are the list of components you will find in XDUINO-IDE. This platform provides ease of compiling and uploading to the ARM Cortex-M3 devices by simply clicking the button on the main interface : -).
Main components includes:
- C++ compiler with C and C++ libraries
- ARM Cortex-M3 stm32f series mcu firmware/software uploader
- XDUINO library for programming with Arduino-like syntax
- Programming template in XDUINO and general ARM styles
- and much much more..
What are you waiting for, you can signup to download it now from Download page.
ARM Compiler is also part of the XDUINO project.
The FREE ARM Compiler is bundled within the XDUINO-IDE package. Once XDUINO-IDE has been installed,
programming with Arduino syntax or ARM general programming can be done immediately. There is no need to set compiler options. The bundled FREE ARM Compiler has been tested with Cortex-M3 STM32 Thumb-2 instructions.
With ease of programming either by XDUINO-IDE or other IDE such as Keil, IAR, etc. One can easily build embedded application with Arduino commands.
XDUINO project also comes with ARM Compiler
The FREE ARM Compiler is bundled within the XDUINO-IDE package. Once XDUINO-IDE has been installed, programming with Arduino syntax or ARM general programming can be done immediately. There is no need to set compiler options. The bundled FREE ARM Compiler has been tested with Cortex-M3 STM32 Thumb-2 instructions.
ARM Compiler is also part of the XDUINO project
The FREE ARM Compiler is bundled within the XDUINO-IDE package. Once XDUINO-IDE has been installed, programming with Arduino syntax or ARM general programming can be done immediately. There is no need to set compiler options. The bundled FREE ARM Compiler has been tested with Cortex-M3 STM32 Thumb-2 instructions.
XDUINO project also comes with ARM Compiler
The FREE ARM Compiler is bundled within the XDUINO-IDE package. Once XDUINO-IDE has been installed, programming with Arduino syntax or ARM general programming can be done immediately. There is no need to set compiler options. The bundled FREE ARM Compiler has been tested with Cortex-M3 STM32 Thumb-2 instructions.
First, we would like to thank those who have given feedback on XDUINO IDE which contains ARM Compiler, libraries, and other tools necessary for getting the Xduino project running.
Important notes:
-
- If you get anti-virus warning from running the software, you can ignore it if you have signed up and downloaded the software from our site. The warnings are inaccurate. We have seen this generally happens with compressed/encrypted executable files. For some anti-virus program you might have to make it explicitly exclude the XDUINO-IDE executable file from the anti-virus software.
- After starting the IDE if you see “Verifying” at the bottom of the IDE, it means that the IDE is trying to Verify your registration information. There is no need to wait for this to complete if you have registered properly. You can start using the IDE immediately.
Xduino v0.12 to be released
Posted by Ram in ARM, Cortex-M3, Xduino release on July 24, 2009
Here is an example for dimming the LED connected to PA4 while attaching interrupt to PB8 and PB9. It has been tested with Xduino v0.3 (more projects and examples will be added in the near future)
/* Xduino v0.3 */ #include "main.h" using namespace compatArduino; void InterruptPB9(void) { Serial1.printf("(interrupt 9!!! %d) ", digitalRead(PB9)); } void InterruptPB8(void) { Serial1.printf("(interrupt 8!!! %d) ", digitalRead(PB8)); } int LedPin = PB7; // as labelled on ARM Cortex-M3 board int main(void) { float version=0.3; double fnumber=1234.5678; char myinput; doInit(); //Initialize Xduino components, this line is required Serial1.begin(115200); //USART1 Serial1.printf("Starting Xduino (v%f) example program...",version); Serial1.printf("hello!! %d %d %d ",1,2,3); Serial1.printf("The floating point number is %d ",fnumber); pinMode(LedPin,OUTPUT); pinMode(PB1,OUTPUT); pinMode(PB8,INPUT); pinMode(PB9,INPUT); digitalWrite(PB1,HIGH); attachInterrupt(PB9,InterruptPB9,CHANGE); attachInterrupt(PB8,InterruptPB8,RISING); while(1) { if(Serial1.available()) { myinput=Serial1.read(); Serial1.printf("This system has been up for %lu milliseconds. ",millis()); if(myinput=='a') { digitalWrite(PB1,HIGH); } // press a to turn PB1 to HIGH state if(myinput=='b') { digitalWrite(PB1,LOW); } // press b to turn PB1 to HIGH state if(myinput=='n') { noInterrupts(); } // press n to disable all existing interrupts if(myinput=='i') { interrupts(); } // press i to enable all existing interrupts Serial1.printf("Input is %c ... ",myinput); } //using analogWrite on channel 1 which is PA4 to dim the LED connected to it for(int i=0;i<=0x0FFF;i+=0xFF) // smoothly turn PA4 (DAC port 1) on { analogWrite(1,i); delay(50); } for(int j=0x0FFF;j>=0;j-=0xFF) // smoothly turn PA4 (DAC port 1) off { analogWrite(1,j); delay(50); } analogWrite(1,0xFFF); // Turn on PA4 fully at once delay(100); digitalWrite(LedPin,LOW); // Turn off PA4 fully at once delay(100); } //## END while(1) } //## END main()
Xduino v0.12 should come out within the next few days and it will have Serial buffer, Round-robin general purpose library, ADC (Analog input) and might also have DAC (Analog output) functionalities. Note DAC function does not exist in Arduino (yet). PWM function should be coming out soon as well but might not always be needed as there are 2 DAC channels on the ARM Cortex-M3 STM32F10ret6 board which is being used for testing. Arduino compatibility syntax will be provided on the new functions as well.
ARM programming made simple with Xduino (v0.11)
Posted by Ram in ARM, Cortex-M3, programming example on July 16, 2009
With the current release of Xduino v0.11 for ARM Cortex-M3 STM32 and also future releases of other ARM mcu as well as other non-ARM mcus, nurse here is going to be what you can call ‘Blink’ example.
Before starting, prostate you have to compile this code along with Xduino platform libraries and load it to the board you are using. Once loaded then you can disconnect the board from the computer then connect one wire of an LED to PB7 (you can change this to other Pin on your board, thumb make sure to also change the code) and the other to ground appropriately. Hit reset on your board and the LED should blink.
/* Xduino library initialization */
#include “main.h”int LedPin = PB7; // as labelled on your ARM Cortex-M3 board
int main(void)
{doInit(); //Initialize
while(1) //loop this block
{
       digitalWrite(LedPin,HIGH);
       delay(200);
       digitalWrite(LedPin,LOW);
       delay(200);
}}