Cmsis v2

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Cmsis v2

4,222 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by Jerome on Thu Feb 24 08:33:51 MST 2011
Hello,
I have read that the CMSIS V2 is available :

http://www.onarm.com/cmsis/download/10/version-2-0-of-the-cortex-microcontroller-software-interface-...

Did someone tried to use it in LPCXpresso ?
0 Kudos
Reply
16 Replies

3,860 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by rtos on Mon Apr 04 10:39:17 MST 2011

Quote: CodeRedSupport
I am sorry for the confusion here with the mcb1700.code.bundle.lpc1769.lpcxpresso.zip and the CMSISv2_LPC17xx project within it. The above examples (including the CMSIS library) were produced by NXP, so I have asked them to investigate.

However my assessment is that the CMSISv2 library project contained in this code bundle is NOT a CMSIS v2.00 library project. The ARM/Cortex related files in this project, do indeed appear to be taken from CMSIS 1.2 (not CMSIS 2.0).

The vendor specific files within this CMSISv2 library project are slightly different to the ones that we supply as standard in the CMSISv1p30_LPC17xx library project in LPCXpresso IDE. I have again asked NXP to clarify.

Regards,
CodeRedSupport



OK, thank you.
0 Kudos
Reply

3,860 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by CodeRedSupport on Mon Apr 04 03:30:24 MST 2011
I am sorry for the confusion here with the mcb1700.code.bundle.lpc1769.lpcxpresso.zip and the CMSISv2_LPC17xx project within it. The above examples (including the CMSIS library) were produced by NXP, so I have asked them to investigate.

However my assessment is that the CMSISv2 library project contained in this code bundle is NOT a CMSIS v2.00 library project. The ARM/Cortex related files in this project, do indeed appear to be taken from CMSIS 1.2 (not CMSIS 2.0).

The vendor specific files within this CMSISv2 library project are slightly different to the ones that we supply as standard in the CMSISv1p30_LPC17xx library project in LPCXpresso IDE. I have again asked NXP to clarify.

Regards,
CodeRedSupport
0 Kudos
Reply

3,860 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by rtos on Sun Apr 03 15:14:03 MST 2011
NXP/CodeRed Support,
Can you please clarify which CMSIS version is being used in these demo examples? Thanks.http://ics.nxp.com/support/documents/microcontrollers/zip/mcb1700.code.bundle.lpc1769.lpcxpresso.zip

1) The file name says that the library is CMSISv2.  File name "CMSISv2_LPC17xx"
2) The history log in CMSIS_History.txt says that this is CMSISv2.0

Quote:
10 February 2011
----------------
CMSIS files updated to match files released with CMSIS 2.0
code bundle library released by NXP. Noteable changes include
removal of redundant prefixes such as:
LPC_ADC->ADDR0 changed to LPC_ADC->DR[0]
library renamed from CMSISv1p30_LPC17xx to CMSISv2_LPC17xx


3) The release data in the "CMSIS_History.txt" file is February 2011 which seems to lines up with CMSISv2 rather than CMSISv1.20.
4) The core_cm3.c file says: v1.20
5) The system_LPC17xx.c files v1.1
6) The system_LPC17xx.h file says v1.01
0 Kudos
Reply

3,860 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by Ex-Zero on Sun Apr 03 10:04:40 MST 2011

Quote:
...please look into this...



That's of course V1.2 as descibed in header files.
0 Kudos
Reply

3,860 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by larryvc on Sun Apr 03 09:50:26 MST 2011
I had indirectly mentioned SystemCoreClock and SystemFrequency in the thread below as well as the one I mention in the thread.  I had no idea that SystemFrequency was an old identifier as I started out with LPCs in February.

http://knowledgebase.nxp.com/showthread.php?t=1677

What about the change of SystemCoreClockUpdate to SystemClockUpdate?
0 Kudos
Reply

3,860 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by rtos on Sun Apr 03 07:32:29 MST 2011

Quote: piperazine
Hello,

Although the folder says CMSISv2, all the source files are labeled v1.2 or lower so I think this is the older version (1.2) hence its still uses SystemFrequency and not SystemCoreClock. CMSISv2 uses SystemCoreClock so I'm not sure what is going on with the version info in there.



This being the case then NXP has made a some mistakes with the files that they included in this example project.

NXP or CodeRed, can you please look into this and let us know if the CMSIS library in the following example is really CMSISv2?  It seems like some of the files are labeled as such but some still appear to be CMSISv1.3?  Thanks.

http://ics.nxp.com/support/documents/microcontrollers/zip/mcb1700.code.bundle.lpc1769.lpcxpresso.zip
0 Kudos
Reply

3,860 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by piperazine on Sun Apr 03 07:27:10 MST 2011
Hello,

Although the folder says CMSISv2, all the source files are labeled v1.2 or lower so I think this is the older version (1.2) hence its still uses SystemFrequency and not SystemCoreClock. CMSISv2 uses SystemCoreClock so I'm not sure what is going on with the version info in there.
0 Kudos
Reply

3,860 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by rtos on Sun Apr 03 07:06:18 MST 2011

Quote: whitecoe
That doesn't sound right. SystemFrequency was renamed to SystemCoreClock in the move from CMSIS 1.20 to CMSIS 1.30 (according to the CMSIS 1.30 docs at least).




Here is a project with CMSISv1 (CMSISv1.30):

The CodeRed example project at this link is using the CMSISv1p30_LPC17xx.
http://support.code-red-tech.com/CodeRedWiki/RDB1768cmsisExampleProjects
/*----------------------------------------------------------------------------
  Clock Variable definitions
 *----------------------------------------------------------------------------*/
uint32_t SystemCoreClock = __CORE_CLK;/*!< System Clock Frequency (Core Clock)*/



Here is a project using CMSISv2 based on the name of the CMSIS file of "CMSISv2_LPC17xx" and the comments in the file "cmsis_history.txt":

The NXP examples at this link is using CMSISv2_LPC17xx.
http://ics.nxp.com/support/documents/microcontrollers/zip/mcb1700.code.bundle.lpc1769.lpcxpresso.zip
/*----------------------------------------------------------------------------
  Clock Variable definitions
 *----------------------------------------------------------------------------*/
uint32_t SystemFrequency = IRC_OSC; /*!< System Clock Frequency (Core Clock)  */



Quote:
10 February 2011
----------------
CMSIS files updated to match files released with CMSIS 2.0
code bundle library released by NXP. Noteable changes include
removal of redundant prefixes such as:
LPC_ADC->ADDR0 changed to LPC_ADC->DR[0]
library renamed from CMSISv1p30_LPC17xx to CMSISv2_LPC17xx

0 Kudos
Reply

3,860 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by whitecoe on Sun Apr 03 05:56:47 MST 2011

Quote: rtos
There is at least this difference between the CMSISv1 and CMSISv2 libraries-  the variable name SystemCoreClock vs. SystemFrequency respectively.



That doesn't sound right. SystemFrequency was renamed to SystemCoreClock in the move from CMSIS 1.20 to CMSIS 1.30 (according to the CMSIS 1.30 docs at least).
0 Kudos
Reply

3,860 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by rtos on Sun Apr 03 05:27:33 MST 2011
There is at least this difference between the CMSISv1 and CMSISv2 libraries-  the variable name SystemCoreClock vs. SystemFrequency respectively.

CMSISv1
/*----------------------------------------------------------------------------
  Clock Variable definitions
 *----------------------------------------------------------------------------*/
uint32_t SystemCoreClock = __CORE_CLK;/*!< System Clock Frequency (Core Clock)*/



CMSISv2
/*----------------------------------------------------------------------------
  Clock Variable definitions
 *----------------------------------------------------------------------------*/
uint32_t SystemFrequency = IRC_OSC; /*!< System Clock Frequency (Core Clock)  */
0 Kudos
Reply

3,860 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by larryvc on Sat Apr 02 20:16:05 MST 2011

Quote: rtos
It's interesting that they talk about "Version 4 of the Code Red IDE".  V4 is not out yet.



CodeRedSupport has mentioned in several posts about features that will be fixed or included in the next release so they're probably getting the Knowledgebase info ready as well.
0 Kudos
Reply

3,860 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by rtos on Sat Apr 02 17:56:29 MST 2011
It's interesting that they talk about "Version 4 of the Code Red IDE".  V4 is not out yet. At this link:

http://support.code-red-tech.com/CodeRedWiki/cmsis130to200




Quote:
http://support.code-red-tech.com/CodeRedWiki/WikiHome?action=fullsearch&context=180&value=cmsis&titl...

0 Kudos
Reply

3,860 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by larryvc on Sat Apr 02 17:06:03 MST 2011
I did a search on the CodeRed Knowledgebase for cmsis and found this page.

http://support.code-red-tech.com/CodeRedWiki/WikiHome?action=fullsearch&context=180&value=cmsis&titl...

login required.
0 Kudos
Reply

3,860 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by larryvc on Sat Apr 02 16:37:05 MST 2011
Come on rtos it's the weekend and the forum is very quiet.  We need I/O.:)

I'm using both versions without any problems and I suppose we'll be moving on to v2.

CodeRed can answer later.:)
0 Kudos
Reply

3,860 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by rtos on Sat Apr 02 16:27:12 MST 2011
This question is directed to CodeRed support.

Does CMSISv2 replace CMSISv1 or will they coexist as two viable libraries depending on your needs.  I see that some of the NXP sample projects are now using CMSISv2.

From what I can gather, the main additions of the CMSISv2 library are:
1) Added support for the Cortex-M4.
2) Optimization for the M3 and M4.
3) Support for DSP, Filters, Martix, FFT, Motor Control.
4) Fixed and floating point math.

What I'm getting at is... If I'm starting a new project on the 1768 should I use CMSISv2 even if I don't need all of the new features?  What does CodeRed recommend.

Thanks.
0 Kudos
Reply

3,860 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by CodeRedSupport on Thu Feb 24 08:41:02 MST 2011
We will be incorporating support for CMSIS library projects based on CMSIS v2.0 in a forthcoming version of the IDE.

Regards,
CodeRedSupport
0 Kudos
Reply