01-08-2010 10:29 AM
Ok, so very quickly I resume what I have done:
- The LM3S811: http://www.luminarymicro.com/products/ekk-lm3s811_evaluation_kit.html
- I used the LM3Sxxxx Generic template to create one for
the LM3S811 as instructed in the porting guide for other ARM controllers using
Labview for ARM module, the simple guide.
- I got to compile a test application and run it
successfully on my new target.
- I then used the Elemental I/O wizard to create the
necessary files based again on the LM3S8962 in the generic folder of LM3Sxxxx.
Both boards share almost all the same IOs, I only changed the PWM 0 and 1 to
use port D instead of B, PWMs 2 to 5 share the same ports, so I didn t changed
them.
- I tested some of the AIOs the GPIOs, and I even got the
OLED display driver from luminary to work.
Now, if I use PWM 2 to 5 they work fine, but if I use 0
or 1, my application will freeze as soon as the Elemental IO node is called in
my program when running on the target.
Am I missing something?
Thx
Lukasz
Solved! Go to Solution.
01-11-2010 01:23 PM
I just posting this to the Rudkus for ARM
Add the define PART_LM3S811 in your build specification (the advanced compiling options page).
All the silicon is header files are:
C:\Program Files\National Instruments\LabVIEW 2009\Targets\Keil\Embedded\RealView\EK-LM3S8962\lib\eio
In summary, when you port:
1) set-up KEIL tools so that memory, etc is setup
2) tell LV ARM about the pin_outs
01-11-2010 02:43 PM - edited 01-11-2010 02:53 PM
Hi greg,
I added PORT_LM3S811 do the preprocessor, and no luck. Still doing the same.
What should be the syntax? only PORT_LM3S811? no ";" ?
01-11-2010 03:06 PM
Ok, found the solution:
Edited "LM3S_Pins.c" line34 to : "#define PART_LM3S811"
and "ARM_Serial.c" line 24 to : "#define PART_LM3S811"
🙂
thx for the hint
01-11-2010 04:05 PM
01-14-2010 11:29 AM
I am having problems again, I have corrupted sent data throught serial port 0 when using the NI serial driver. I also get eroor code -1073807339 when reading that same data sent from my ARM to PC inside labview with VISA.
I am thinking that the timings might be wrong somehow, but I don t know where to look for since the NI serial driver for ARM dosen t seem to be calling uart.c where the registers and baud-rate divisor is located for UART0. The 3S811 is Xtal 6Mhz, not 8Mhz like the 3S8962.
I also tested the PWM on a scope and the frequency dosen t match if i ask for 1kHz I get around 666Hz. Seems like setting the Xtal to 6Mhz in uVision is not enought.
thx
Lukasz
01-15-2010 02:59 PM
Hi Lucasz,
There is a KnowledgeBase article on the error that you are getting. It looks like you may have to increase the timeout that is causing this error.
Also take a look at page 454 of the LM3S811 manual for information that might be helpful.
Regards,
Stephen S.
01-18-2010 01:37 PM
Ok, here is the solution.
Open "startup.s"
Goto line 193:
; set the system clock to run at 50 MHz
; SysCtlClockSet(SYSCTL_SYSDIV_4 | SYSCTL_USE_PLL |
; SYSCTL_XTAL_8MHZ | SYSCTL_OSC_MAIN);
LDR R0, =0x01C002C0
BL SysCtlClockSet
B __main
Replace R0, with the right values found in "sysctl.h" line 236:
in my case set the crystal to 6Mhz which is "0x000002C0"
PWM timing is restored and serial port works fine now.
12-08-2012 08:44 AM
Hello, dear L.Andrzejewski:Can you tell me the specific porting progress about the LM3S3811 by using the LM3SXXXX folder?Because I want to port LM3S2110 ARM chip, how can I do with the LM3SXXXX folder without Microprocessor SDK?
Thank you very much!
12-08-2012 08:56 AM
Hello, dear L.Andrzejewski:Can you tell me the specific porting progress about the LM3S3811 by using the LM3SXXXX folder?Because I want to port LM3S2110 ARM chip, how can I do with the LM3SXXXX folder without Microprocessor SDK?
I don't know how realize this progress:
"
5. Change Heap size to: "Heap EQU 0x00000200" in "Startup.s" (Not sure but if not using debugging it can be set to zero)
6. Edit "LM3S_Pins.c" line34 to : "#define PART_LM3S811" and "ARM_Serial.c" line 24 to : "#define PART_LM3S811"
In LV
1. Import eio's from the \generic\LM3sxxxx\eio\LM3S8962
a. Change PWM 0 and 1 to use port D instead of B
2. Disable debugging, not enough RAM for it.
"
Thank you very much!