LPC1114 example including FreeRTOS 7.0.2 and CMSIS 2.0

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

LPC1114 example including FreeRTOS 7.0.2 and CMSIS 2.0

2,699件の閲覧回数
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by fjrg76 on Tue Nov 15 23:23:50 MST 2011
Hello

Officially, the original NXP's LPC1114_freertos project (the one you can download from its oficial site) has bugs, and my own applications crashed when using it. You might want to see this post


Dave Nadler et al found and fixed the bugs. They provide all the files needed for the port's correctness. However, there are some issues that need to be resolved before the project compiles, because if you do something wrong in the process you may mess the things up.

In order to make the things easier, I put all these things together and I made a project (of the kind you can import from LPCXpresso IDE). Hope you find it useful, and if you have comments or find bugs please let me know them. Be aware that this is not a specific project, but an updated (and unofficial) release of the NXP's original example. The next table shows the differences between the original project and the new one:

ORIGINAL       NEW PORT
CMSIS 1.3      CMSIS 2.0
FreeRTOS 5.2   FreeRTOS 7.0
NXP's M0 port  Dave's M0 port



Happy coding !!

[I]Update:

21/nov/2011
--------------------

The compiler/linker looked for old CMSISv1p30 references. Fixed. Thanks to ArneB.

The project didn't compile in "Release configuration" because of missing external project references. Fixed. Now it should compile in both configurations, Release and Debug.

Package history file added (this file).


First release
--------------------

Thanks to Dave Nadler et al for their time, effort and contribution to this bug-free, updated (and unofficial) FreeRTOS LPC1114 port. My only contribution here has been to put all things together so you can enjoy the power of NXP Cortex-M0 family along the great FreeRTOS kernel just out-of-the-box.
[/I]
0 件の賞賛
返信
10 返答(返信)

2,642件の閲覧回数
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by fjrg76 on Thu Nov 24 11:52:31 MST 2011

Quote: Rob65

I've done my bit of knocking on NXPs door to get some answers. I have even been contacted by a field support manager asking me if I was willing to review some of their code.
Unfortunately visions and missions of teams keep changing. They are not even walking on solid ground anymore (I was made ' redundant'  about 3 years ago) and it is very hard to get focus on supporting customers 'for free'. How would you, as a manager, explain that your team should spend time and money on something that is not directly related to customer sales ...
Been there, done that, burned out :eek:
[/INDENT]



I guess NXP is relaying in their customer's loyalty; but what they aren't taking into account is that the war for the Cortex-M market will hit them sooner or later if they don't make a real compromise with the developers. Other big manufacturers, like Freescale and TI, just to mention few, also want the biggest piece of the Cortex-M pie, and they are providing to developers with not only chips, software, firmware, hardware, etc., but also with first class customer support, free of charge. For example, something that is nice with Freescale's customer support, is that they call you after few days to ask you if their answers solved your problem. I like that!!

NXP must put attention in this matter, because evil is in the details, and loyalty comes with a price.

Regards :)
0 件の賞賛
返信

2,642件の閲覧回数
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by Rob65 on Wed Nov 23 02:19:00 MST 2011
Dave,

Quote: DaveNadler
[FONT=Arial]
[B]Now, If NXP would just reply to my open questions...[/B]
[/FONT]



we all know these ...
I've done my bit of knocking on NXPs door to get some answers. I have even been contacted by a field support manager asking me if I was willing to review some of their code.
Unfortunately visions and missions of teams keep changing. They are not even walking on solid ground anymore (I was made ' redundant'  about 3 years ago) and it is very hard to get focus on supporting customers 'for free'. How would you, as a manager, explain that your team should spend time and money on something that is not directly related to customer sales ...
Been there, done that, burned out :eek:

I think (almost sure of it) that I am stretching the rules if I'm asking for more support than this forum, the (free!) LPCXpresso tools, the (cheap) LPCXpresso boards and the support from Code Red.

Have you ever noticed how Code Red support is often active during evening hours or even in weekends ... Of course they have a better case for providing support since they also try to make money on their solutions.

Nevertheless, your efforts on the FreeRTOS port are appreciated.
Luckily there are still some experts on this forum who are willing/able to port code, fix bugs or help new users in getting started. Even better; I see new experts popping up :)

Regards,[INDENT]Rob
[/INDENT]
0 件の賞賛
返信

2,642件の閲覧回数
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by DaveNadler on Tue Nov 22 19:21:39 MST 2011

Quote: stalisman
Thanks guys!
You have saved my sanity.
...Well done folks indeed! :-)


[FONT=Arial]
You're Welcome !
[B]Now, If NXP would just reply to my open questions...[/B]
[/FONT]
0 件の賞賛
返信

2,642件の閲覧回数
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by stalisman on Tue Nov 22 02:31:39 MST 2011
Thanks guys!

You have saved my sanity.

The last few days I have been battling with FreeRTOS. I modified the standard project to include two tasks that played ping pong via message queues and also set up PWMs on both 32 bit timers ...

I even tried to use vTaskDelay in the queue tasks.

The upshot was that I could get any one of these 3 tests to work in isolation, but immediately I ran two or more the system would crash with a hard fault.

I was about to transfer the project to the IAR for improved debugging when I saw this thread.

Within 15 minutes I had it downloaded modified and everything up and running as desired.

Well done folks indeed! :-)
0 件の賞賛
返信

2,642件の閲覧回数
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by fjrg76 on Mon Nov 21 13:05:36 MST 2011

Quote: Rob65
Thanks,
we should be able to give credits for this (and then a certain number of credits give you a free LPCXpresso module ;))

Rob



Right now I can't remember where I saw that a guy from NXP accepted that there are some bugs in their software (like in the FreeRTOS port). I read that while I was looking for answers when my project (that was using the NXP M0 FreeRTOS port) crashed.



Quote:
But one question: if these are official bugs, are we then allowed to fix them :D



This is kind of open-source project, isn't it? I guess we cannot wait until NXP engineers look and solve bugs, can we? The beauty of open-source is that a lot of smart, experienced and very skilled people donate their time and effort in order to keep the world moving.

Let me say something about the source of those bugs:

Cortex-M3 was the first Cortex-M family in the market, so a lot of development was (and it's still) done for it. Later on, M0 was born and NXP took the easiest and cheapest path: to port everything that was done for M3 to M0. You can see this when looking at the M3's source code (e.g. drivers, among other software), it has great quality and it's well documented, whilst the source code (native and ported) for M0 looks poor in many ways, including incomplete and with no documentation.

Also hardware has minor mistakes: LPCXpresso board's silkscreen for LPC1114 has references to USB pins, but the fact is that LPC1114 doesn't include USB, and it's not the only mistake, there are also four pins swapped!!. Page 35 from the LPCXpresso's User Guide advises you of this matter.

Although the board was going to be compatible with LPC1343 they did forget to update the pin's names. I think a good idea is that NXP would include a small piece of paper in the LPCXpresso for LPC1114 package that says:

"Errata: Some pin's names are wrong in the board's silkscreen, please see the User's Manual" or something like that.

That would be useful because we tend to overlook the small details (when buying a board of this kind none of us expects that the silkscreen is wrong). In fact, when I saw for first time my LPC1114 LPCXpresso board, I got very excited 'cause I read in some terminals USB terminology (USB-DM, USB-DP, etc.), so I thought I could use USB right away. Few minutes ago I got sad because I realised the silkscreen had mistakes.

Regards :)
0 件の賞賛
返信

2,642件の閲覧回数
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by fjrg76 on Mon Nov 21 12:33:53 MST 2011

Quote: ArneB
Hi fjrg76,

strange, i have used the same procedure - download your project, created a new workspace and imported your project into the empty workspace.
The references to the old CMSISv1p30 library are mainly located in the search paths for the include and linker files.
To speed up the search: Just open the ".cproject" file in the "freertos_lpc11xx" path with a text editor and search for "CMSISv1p30" to have a fast overview of the occurrences.

Nevertheless i really appreciate your & Dave Nadlers effort of porting FreeRTOS to the LPC111X microcontroller family !

  Arne




Thank you for your comments :)

I found those old references, so I fixed them. Maybe you can test this new release in order to be shure everything works as expected. :)
0 件の賞賛
返信

2,642件の閲覧回数
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by Rob65 on Mon Nov 21 04:24:26 MST 2011
Thanks,


Quote: fjrg76
Officially, the original NXP's LPC1114_freertos project (the one you can download from its oficial site) has bugs,



we should be able to give credits for this (and then a certain number of credits give you a free LPCXpresso module ;))

But one question: if these are official bugs, are we then allowed to fix them :D

Rob
0 件の賞賛
返信

2,642件の閲覧回数
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by ArneB on Mon Nov 21 03:03:30 MST 2011
Hi fjrg76,

strange, i have used the same procedure - download your project, created a new workspace and imported your project into the empty workspace.
The references to the old CMSISv1p30 library are mainly located in the search paths for the include and linker files.
To speed up the search: Just open the ".cproject" file in the "freertos_lpc11xx" path with a text editor and search for "CMSISv1p30" to have a fast overview of the occurrences.

Nevertheless i really appreciate your & Dave Nadlers effort of porting FreeRTOS to the LPC111X microcontroller family !

  Arne
0 件の賞賛
返信

2,642件の閲覧回数
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by fjrg76 on Thu Nov 17 09:48:03 MST 2011

Quote: ArneB

I have noticed, that there are still some old CMSIS_V1.30 references in the library section, which leads to linker errors. Just rename these references to  CMSISv2p00_LPC11xx and everything is fine... :)



Hello ArneB

I couldn't find any CMSISv1p30 references. When I built the project I tested it and it compiled with no errors in a fresh workspace, without any other project than this one, so I released it. May be your workspace already contains other projects referencing CMSISv1p30.

But for being shure, would you be more specific and describe me the steps you followed for changing the old references, so I can find them faster?

Thank you !!
0 件の賞賛
返信

2,642件の閲覧回数
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by ArneB on Thu Nov 17 05:53:54 MST 2011
Hi fjrg76,

thanks a lot for the project.
I have noticed, that there are still some old CMSIS_V1.30 references in the library section, which leads to linker errors. Just rename these references to  CMSISv2p00_LPC11xx and everything is fine... :)
0 件の賞賛
返信