EmbeddedRelated.com
Forums

uCOS-II for LPC2148 using Keil uVision4

Started by sskendre_lect August 27, 2012
Hi Sangmeshwar,

> Dear Sir, Thank you. I have compiled the code successfully as per
> your guide lines. Once again thank you for your quick response.

Glad to hear it.

Keep in mind that the code was written for an LPC2138, not
an LPC2148, so you may need to adjust the linker file
accordingly.

Cheers,
Dave

An Engineer's Guide to the LPC2100 Series

Dear Sir,
As i have compiled your code and tested the output by using Proteus simulator, i did not get the output. But when i give your folder's ex1.hex file then as per your ex1 logic LEDs are blinking.
Please help me to solve the problem. I have given the compilation output as:

E:\ARM\RTOS\TestUcos\ex1>make
arm-elf-gcc -Wall -O2 -mcpu=arm7tdmi -I./ -I../arm-gcc-nested -I../ucos-ii-v2.52
-c ../arm-gcc-nested/os_cpu_a.s
arm-elf-gcc -Wall -O2 -mcpu=arm7tdmi -I./ -I../arm-gcc-nested -I../ucos-ii-v2.52
-c ../arm-gcc-nested/os_cpu_c.c
arm-elf-ld -r os_cpu_a.o os_cpu_c.o -o port.o
arm-elf-gcc -Wall -O2 -mcpu=arm7tdmi -I./ -I../arm-gcc-nested -I../ucos-ii-v2.52
-c ../ucos-ii-v2.52/ucos_ii.c
../ucos-ii-v2.52/os_core.c:68: warning: 'OS_InitTaskStat' declared 'static' but
never defined
arm-elf-gcc -Wall -O2 -mcpu=arm7tdmi -I./ -I../arm-gcc-nested -I../ucos-ii-v2.52
-c bsp.c
arm-elf-gcc -Wall -O2 -mcpu=arm7tdmi -I./ -I../arm-gcc-nested -I../ucos-ii-v2.52
-Tlpc2138_flash.ld -nostartfiles \
start.s ex1.c port.o ucos_ii.o bsp.o -o ex1.elf
arm-elf-objcopy -O ihex ex1.elf ex1.hex

E:\ARM\RTOS\TestUcos\ex1>
Thanking you,

With regards,
Sangmeshwar

--- In l..., David Hawkins wrote:
>
> Hi Sangmeshwar,
>
> > Dear Sir, Thank you. I have compiled the code successfully as per
> > your guide lines. Once again thank you for your quick response.
>
> Glad to hear it.
>
> Keep in mind that the code was written for an LPC2138, not
> an LPC2148, so you may need to adjust the linker file
> accordingly.
>
> Cheers,
> Dave
>

Hi Sangmeshwar,

> As i have compiled your code and tested the output by using Proteus
> simulator, i did not get the output. But when i give your folder's
> ex1.hex file then as per your ex1 logic LEDs are blinking. Please
> help me to solve the problem. I have given the compilation output
> as:
>
> E:\ARM\RTOS\TestUcos\ex1>make arm-elf-gcc -Wall -O2 -mcpu=arm7tdmi
> -I./ -I../arm-gcc-nested -I../ucos-ii-v2.52 -c
> ../arm-gcc-nested/os_cpu_a.s arm-elf-gcc -Wall -O2 -mcpu=arm7tdmi
> -I./ -I../arm-gcc-nested -I../ucos-ii-v2.52 -c
> ../arm-gcc-nested/os_cpu_c.c arm-elf-ld -r os_cpu_a.o os_cpu_c.o -o
> port.o arm-elf-gcc -Wall -O2 -mcpu=arm7tdmi -I./ -I../arm-gcc-nested
> -I../ucos-ii-v2.52 -c ../ucos-ii-v2.52/ucos_ii.c
> ../ucos-ii-v2.52/os_core.c:68: warning: 'OS_InitTaskStat' declared
> 'static' but never defined arm-elf-gcc -Wall -O2 -mcpu=arm7tdmi -I./
> -I../arm-gcc-nested -I../ucos-ii-v2.52 -c bsp.c arm-elf-gcc -Wall -O2
> -mcpu=arm7tdmi -I./ -I../arm-gcc-nested -I../ucos-ii-v2.52
> -Tlpc2138_flash.ld -nostartfiles \ start.s ex1.c port.o ucos_ii.o
> bsp.o -o ex1.elf arm-elf-objcopy -O ihex ex1.elf ex1.hex

Sorry, I'm not familiar with the Proteus simulator. I assume its
some form of ARM simulator. Have you configured it to emulate an
LPC2138?

I cannot aid in debugging this code. However, I can provide suggestions.

1) Read the warning messages from the compiler:

warning: 'OS_InitTaskStat' declared 'static' but never defined

Resolve this issue.

2) Use the debug features of the simulator to see how far the code gets.
Then try to determine what is not working.

I wrote this port of uCOS-II for fun; I had the board and wanted to
look at an ARM core processor. I have subsequently given the board
away, and don't have access to it anymore.

You'll have to debug this problem yourself. However, given the fact
that you have a simulator, this should be fairly easy.

Cheers,
Dave

Dear Sir,
Thank you. VSM Proteus is Simulation software. Finally i have suceed in using uCOS-II in Keil uVision4 for ARM7. I have simulated Semaphore, mailbox etc examples with Keil MDK simulation as well as executed on ARM LPC2148 kit sucessfully.

Thanking you,
With regards,
Sangmeshwar
--- In l..., David Hawkins wrote:
>
> Hi Sangmeshwar,
>
> > As i have compiled your code and tested the output by using Proteus
> > simulator, i did not get the output. But when i give your folder's
> > ex1.hex file then as per your ex1 logic LEDs are blinking. Please
> > help me to solve the problem. I have given the compilation output
> > as:
> >
> > E:\ARM\RTOS\TestUcos\ex1>make arm-elf-gcc -Wall -O2 -mcpu=arm7tdmi
> > -I./ -I../arm-gcc-nested -I../ucos-ii-v2.52 -c
> > ../arm-gcc-nested/os_cpu_a.s arm-elf-gcc -Wall -O2 -mcpu=arm7tdmi
> > -I./ -I../arm-gcc-nested -I../ucos-ii-v2.52 -c
> > ../arm-gcc-nested/os_cpu_c.c arm-elf-ld -r os_cpu_a.o os_cpu_c.o -o
> > port.o arm-elf-gcc -Wall -O2 -mcpu=arm7tdmi -I./ -I../arm-gcc-nested
> > -I../ucos-ii-v2.52 -c ../ucos-ii-v2.52/ucos_ii.c
> > ../ucos-ii-v2.52/os_core.c:68: warning: 'OS_InitTaskStat' declared
> > 'static' but never defined arm-elf-gcc -Wall -O2 -mcpu=arm7tdmi -I./
> > -I../arm-gcc-nested -I../ucos-ii-v2.52 -c bsp.c arm-elf-gcc -Wall -O2
> > -mcpu=arm7tdmi -I./ -I../arm-gcc-nested -I../ucos-ii-v2.52
> > -Tlpc2138_flash.ld -nostartfiles \ start.s ex1.c port.o ucos_ii.o
> > bsp.o -o ex1.elf arm-elf-objcopy -O ihex ex1.elf ex1.hex
>
> Sorry, I'm not familiar with the Proteus simulator. I assume its
> some form of ARM simulator. Have you configured it to emulate an
> LPC2138?
>
> I cannot aid in debugging this code. However, I can provide suggestions.
>
> 1) Read the warning messages from the compiler:
>
> warning: 'OS_InitTaskStat' declared 'static' but never defined
>
> Resolve this issue.
>
> 2) Use the debug features of the simulator to see how far the code gets.
> Then try to determine what is not working.
>
> I wrote this port of uCOS-II for fun; I had the board and wanted to
> look at an ARM core processor. I have subsequently given the board
> away, and don't have access to it anymore.
>
> You'll have to debug this problem yourself. However, given the fact
> that you have a simulator, this should be fairly easy.
>
> Cheers,
> Dave
>

Hi Sangmeshwar,

> Finally i have suceed in using uCOS-II in Keil uVision4 for ARM7. I
> have simulated Semaphore, mailbox etc examples with Keil MDK
> simulation as well as executed on ARM LPC2148 kit sucessfully.

That's excellent!

Did you have to modify the code in the port I provided (other than
the linker scripts)? Was there any bugs I should fix?

Were you planning on documenting your software development?
If you are, please send me a copy of the report, or add it
to the files area of this group.

Cheers,
Dave
Dear Sir,
Very soon i will provide documentation. For Keil uCOS-II i have gone through your code as well as i have searched on internet. I have used Micrium port for LPC2148 as basic port.

Thanking you,

With regards,
Sangmeshwar

--- In l..., David Hawkins wrote:
>
> Hi Sangmeshwar,
>
> > Finally i have suceed in using uCOS-II in Keil uVision4 for ARM7. I
> > have simulated Semaphore, mailbox etc examples with Keil MDK
> > simulation as well as executed on ARM LPC2148 kit sucessfully.
>
> That's excellent!
>
> Did you have to modify the code in the port I provided (other than
> the linker scripts)? Was there any bugs I should fix?
>
> Were you planning on documenting your software development?
> If you are, please send me a copy of the report, or add it
> to the files area of this group.
>
> Cheers,
> Dave
>

Hi,

i was also trying for porting ucos-ii on lpc2148 using keil but i didnt succeeded that time.

can you plz provide me with some guidelines & code for the same.

i'll be very thankful to you.

regards,
Mohsin Madki.
Pune.

--- In l..., "sskendre_lect" wrote:
>
> Dear Sir,
> Thanking you for providing the link of your project. I have studied and tried to compile by using GNUARM. I am able to compile and create the hex files for examples(without uCOS). When i compile the examples of uCOS then i get the following errors. Please help me to solve the error.
>
> E:\ARM\RTOS\ucos\ucos\ex1>arm-elf-gcc -O2 -mcpu=arm7tdmi -nostartfiles -T lpc213
> 8_flash.ld start.s ex1.c bsp.c -o ex1test.elf
> /cygdrive/c/DOCUME~1/Shree/LOCALS~1/Temp/ccN4iuAJ.o: In function `irq_addr':
> (.text+0x20): undefined reference to `OS_CPU_IRQ_ISR'
> /cygdrive/c/DOCUME~1/Shree/LOCALS~1/Temp/ccN4iuAJ.o: In function `fiq_addr':
> (.text+0x24): undefined reference to `OS_CPU_FIQ_ISR'
> /cygdrive/c/DOCUME~1/Shree/LOCALS~1/Temp/ccjCVpv6.o: In function `TestTask2':
> ex1.c:(.text+0x24): undefined reference to `OSTimeDlyHMSM'
> /cygdrive/c/DOCUME~1/Shree/LOCALS~1/Temp/ccjCVpv6.o: In function `TestTask1':
> ex1.c:(.text+0x54): undefined reference to `OSTaskCreate'
> ex1.c:(.text+0x74): undefined reference to `OSTimeDlyHMSM'
> /cygdrive/c/DOCUME~1/Shree/LOCALS~1/Temp/ccjCVpv6.o: In function `main':
> ex1.c:(.text+0xc4): undefined reference to `OSInit'
> ex1.c:(.text+0xd8): undefined reference to `OSTaskCreate'
> ex1.c:(.text+0xdc): undefined reference to `OSStart'
> /cygdrive/c/DOCUME~1/Shree/LOCALS~1/Temp/cce4EsAU.o: In function `OS_CPU_FIQ_ISR
> _Handler':
> bsp.c:(.text+0xa0): undefined reference to `OSTimeTick'
> collect2: ld returned 1 exit status
>
> Thanking you,
>
> With regards,
> Sangmeshwar
>
> --- In l..., David Hawkins wrote:
> >
> >
> > > Dear Sir, Please give me step by step guidelines for porting uCOS-II
> > > for NXP LPC2148 using Keil uVision4 IDE which helps me more. Please
> > > give small code as example as early as possible.
> >
> > Here's the 'step-by-step' guidelines, however, they are for GCC
> > (and an LPC2138).
> >
> > http://www.ovro.caltech.edu/~dwh/ucos/project_AR1803.pdf
> > http://www.ovro.caltech.edu/~dwh/ucos/gcc_and_ucosii.zip
> >
> > You should be able to figure out how to get it working for
> > the uVision tools (or just select the GCC compiler as the
> > backend for those tools).
> >
> > Cheers,
> > Dave
>

Dear sir ,
I am new to rtos,i know theoretical knowledge but i dont have practical knowledge ,i am having ngx tech lpc2148 blue board and i had basic knowledge about lpc2148 
now i just started to do rtos (ucosII) programs ,will you please guide me and suggest me any quick start guides or manuals ...

Thank you  

________________________________
From: sskendre_lect
To: l...
Sent: Sunday, 16 September 2012 9:11 AM
Subject: [lpc2000] Re: uCOS-II for LPC2148 using Keil uVision4


 

Dear Sir,
Thank you. VSM Proteus is Simulation software. Finally i have suceed in using uCOS-II in Keil uVision4 for ARM7. I have simulated Semaphore, mailbox etc examples with Keil MDK simulation as well as executed on ARM LPC2148 kit sucessfully.

Thanking you,
With regards,
Sangmeshwar
--- In l..., David Hawkins wrote:
>
> Hi Sangmeshwar,
>
> > As i have compiled your code and tested the output by using Proteus
> > simulator, i did not get the output. But when i give your folder's
> > ex1.hex file then as per your ex1 logic LEDs are blinking. Please
> > help me to solve the problem. I have given the compilation output
> > as:
> >
> > E:\ARM\RTOS\TestUcos\ex1>make arm-elf-gcc -Wall -O2 -mcpu=arm7tdmi
> > -I./ -I../arm-gcc-nested -I../ucos-ii-v2.52 -c
> > ../arm-gcc-nested/os_cpu_a.s arm-elf-gcc -Wall -O2 -mcpu=arm7tdmi
> > -I./ -I../arm-gcc-nested -I../ucos-ii-v2.52 -c
> > ../arm-gcc-nested/os_cpu_c.c arm-elf-ld -r os_cpu_a.o os_cpu_c.o -o
> > port.o arm-elf-gcc -Wall -O2 -mcpu=arm7tdmi -I./ -I../arm-gcc-nested
> > -I../ucos-ii-v2.52 -c ../ucos-ii-v2.52/ucos_ii.c
> > ../ucos-ii-v2.52/os_core.c:68: warning: 'OS_InitTaskStat' declared
> > 'static' but never defined arm-elf-gcc -Wall -O2 -mcpu=arm7tdmi -I./
> > -I../arm-gcc-nested -I../ucos-ii-v2.52 -c bsp.c arm-elf-gcc -Wall -O2
> > -mcpu=arm7tdmi -I./ -I../arm-gcc-nested -I../ucos-ii-v2.52
> > -Tlpc2138_flash.ld -nostartfiles \ start.s ex1.c port.o ucos_ii.o
> > bsp.o -o ex1.elf arm-elf-objcopy -O ihex ex1.elf ex1.hex
>
> Sorry, I'm not familiar with the Proteus simulator. I assume its
> some form of ARM simulator. Have you configured it to emulate an
> LPC2138?
>
> I cannot aid in debugging this code. However, I can provide suggestions.
>
> 1) Read the warning messages from the compiler:
>
> warning: 'OS_InitTaskStat' declared 'static' but never defined
>
> Resolve this issue.
>
> 2) Use the debug features of the simulator to see how far the code gets.
> Then try to determine what is not working.
>
> I wrote this port of uCOS-II for fun; I had the board and wanted to
> look at an ARM core processor. I have subsequently given the board
> away, and don't have access to it anymore.
>
> You'll have to debug this problem yourself. However, given the fact
> that you have a simulator, this should be fairly easy.
>
> Cheers,
> Dave
>




Hi,
As i had told in previous post, i am preparing the documentation. I will soon post.
With regards,
Sangmeshwar

--- In l..., "mohsin" wrote:
>
> Hi,
>
> i was also trying for porting ucos-ii on lpc2148 using keil but i didnt succeeded that time.
>
> can you plz provide me with some guidelines & code for the same.
>
> i'll be very thankful to you.
>
> regards,
> Mohsin Madki.
> Pune.
>
> --- In l..., "sskendre_lect" wrote:
> >
> > Dear Sir,
> > Thanking you for providing the link of your project. I have studied and tried to compile by using GNUARM. I am able to compile and create the hex files for examples(without uCOS). When i compile the examples of uCOS then i get the following errors. Please help me to solve the error.
> >
> > E:\ARM\RTOS\ucos\ucos\ex1>arm-elf-gcc -O2 -mcpu=arm7tdmi -nostartfiles -T lpc213
> > 8_flash.ld start.s ex1.c bsp.c -o ex1test.elf
> > /cygdrive/c/DOCUME~1/Shree/LOCALS~1/Temp/ccN4iuAJ.o: In function `irq_addr':
> > (.text+0x20): undefined reference to `OS_CPU_IRQ_ISR'
> > /cygdrive/c/DOCUME~1/Shree/LOCALS~1/Temp/ccN4iuAJ.o: In function `fiq_addr':
> > (.text+0x24): undefined reference to `OS_CPU_FIQ_ISR'
> > /cygdrive/c/DOCUME~1/Shree/LOCALS~1/Temp/ccjCVpv6.o: In function `TestTask2':
> > ex1.c:(.text+0x24): undefined reference to `OSTimeDlyHMSM'
> > /cygdrive/c/DOCUME~1/Shree/LOCALS~1/Temp/ccjCVpv6.o: In function `TestTask1':
> > ex1.c:(.text+0x54): undefined reference to `OSTaskCreate'
> > ex1.c:(.text+0x74): undefined reference to `OSTimeDlyHMSM'
> > /cygdrive/c/DOCUME~1/Shree/LOCALS~1/Temp/ccjCVpv6.o: In function `main':
> > ex1.c:(.text+0xc4): undefined reference to `OSInit'
> > ex1.c:(.text+0xd8): undefined reference to `OSTaskCreate'
> > ex1.c:(.text+0xdc): undefined reference to `OSStart'
> > /cygdrive/c/DOCUME~1/Shree/LOCALS~1/Temp/cce4EsAU.o: In function `OS_CPU_FIQ_ISR
> > _Handler':
> > bsp.c:(.text+0xa0): undefined reference to `OSTimeTick'
> > collect2: ld returned 1 exit status
> >
> > Thanking you,
> >
> > With regards,
> > Sangmeshwar
> >
> > --- In l..., David Hawkins wrote:
> > >
> > >
> > > > Dear Sir, Please give me step by step guidelines for porting uCOS-II
> > > > for NXP LPC2148 using Keil uVision4 IDE which helps me more. Please
> > > > give small code as example as early as possible.
> > >
> > > Here's the 'step-by-step' guidelines, however, they are for GCC
> > > (and an LPC2138).
> > >
> > > http://www.ovro.caltech.edu/~dwh/ucos/project_AR1803.pdf
> > > http://www.ovro.caltech.edu/~dwh/ucos/gcc_and_ucosii.zip
> > >
> > > You should be able to figure out how to get it working for
> > > the uVision tools (or just select the GCC compiler as the
> > > backend for those tools).
> > >
> > > Cheers,
> > > Dave
> > >
>