Difference between revisions of "Microcontrollers-nxp"
m (→^ NXP Bootloading: - add link to LPC55C69 ROM bootloader hangs when flash operation interrupted.) |
m |
||
Line 4: | Line 4: | ||
== [[#top|^]] Overview == | == [[#top|^]] Overview == | ||
+ | |||
+ | This local page to hold notes related to NXP semiconductor company, headquartered in Eindhoven, Netherlands. | ||
+ | |||
+ | <!-- comentario --> | ||
+ | |||
+ | == [[#top|^]] Dev Kits MCUs == | ||
+ | |||
+ | Development kit for the LPC55S69 MCU intro page at https://www.nxp.com/document/guide/getting-started-with-the-lpc55s69-evk-evaluation-board:GS-LPC55S69-EVK. From here a couple of useful further documents or chapters to this effective users' manual are . . . reached by clicking once on left pane navigation links, which load content into a right hand pane of the above linked manual. | ||
<!-- comentario --> | <!-- comentario --> | ||
Line 15: | Line 23: | ||
* https://www.nxp.com/docs/en/user-guide/DSP56F827EVMUM.pdf DSP56F827 evaluation board | * https://www.nxp.com/docs/en/user-guide/DSP56F827EVMUM.pdf DSP56F827 evaluation board | ||
</ul> | </ul> | ||
− | |||
− | |||
− | |||
− | |||
2022 | 2022 | ||
Line 147: | Line 151: | ||
− | + | __TOC__ | |
Revision as of 20:24, 6 September 2022
parent topic Microcontrollers
^ Overview
This local page to hold notes related to NXP semiconductor company, headquartered in Eindhoven, Netherlands.
^ Dev Kits MCUs
Development kit for the LPC55S69 MCU intro page at https://www.nxp.com/document/guide/getting-started-with-the-lpc55s69-evk-evaluation-board:GS-LPC55S69-EVK. From here a couple of useful further documents or chapters to this effective users' manual are . . . reached by clicking once on left pane navigation links, which load content into a right hand pane of the above linked manual.
^ Technologies and Features
2022
-
0721
- http://www.nxp.com/docs/en/application-note/AN2708.pdf intro to External Bus Interface EBI
- https://www.nxp.com/docs/en/user-guide/DSP56F827EVMUM.pdf DSP56F827 evaluation board
2022
-
0721
^ NXP Bootloading
How to enter NXP ROM bootloader from firmware:
-
Solution on github, written in rust language? Need to confirm this . . .
Known ROM bootloader issue of NXP with no plans for fix:
^ To Sort
Microcontrollers de NXP, starting with a NXP's Line Card:
2021-07-08
And an article at Wikipedia:
How to program dual-core microcontrollers:
Not sure how useful this code example will be, it is posted in or around 2014. Hard to read on the NXP forum due to some funky formatting:
;/* File: example.s */ .syntax unified /* this makes the assembler automatically generate IT instructions for you */ .cpu cortex-m0 /* this selects the cortex-m0 architecture and helps you avoid using cortex-m3/cortex-m4 instructions */ .text /* this makes sure the code goes into the .text section */ .global m0vectors .word 0x20004000 /* this defines the initial stack pointer for the Cortex-M0 */ .word m0reset /* the reset exception vector */ /* here you should place your other exception vectors. There are too many to include in this example */ .global m0test /* this exports the symbol m0test, so you can reference it from for instance C */ .func m0test,m0test /* this names the symbol m0test as a function (for the debug-info) */ .type m0test,%function /* this tells the assembler (and linker) what kind of symbol we're generating */ .thumb_func /* this is necessary if pointers use the symbol */ .align /* this makes sure the code is positioned on a 16-bit boundary */ m0test: /* this defines the actual symbol */ ldr r0,=0x01234567 /* example code, load a value into r0 */ bx lr /* return to the calling function */ m0reset: bl m0test /* this is the startup-code, call our function */ lockup: wfi /* sleep the CPU; it'll wake up if an interrupt occurs */ b lockup /* go back to sleep */ .size m0test, . - m0test /* this tells the linker how big this function is, so it can correctly exclude it if it's unused */ .endfunc /* this marks the end of the function (for the debug-info) */ You can then refer to the code from your C file... /* File: main.c */ #include <ipc_queue.h> /* Note: you don't need argc and argv on a microcontroller. */ int main(int argc, const char *argv[]) { IPC_haltSlave(); SET_SLAVE_SHADOWREG(m0vectors); IPC_startSlave(); while(1) { asm volatile("wfi"); } return(0); }
Contents