Arm Community
Site
Search
User
Site
Search
User
Groups
Arm Research
DesignStart
Education Hub
Graphics and Gaming
High Performance Computing
Innovation
Multimedia
Open Source Software and Platforms
Physical
Processors
Security
System
Software Tools
TrustZone for Armv8-M
中文社区
Blog
Announcements
Artificial Intelligence
Automotive
Healthcare
HPC
Infrastructure
Innovation
Internet of Things
Machine Learning
Mobile
Smart Homes
Wearables
Forums
All developer forums
IP Product forums
Tool & Software forums
Support
Open a support case
Documentation
Downloads
Training
Arm Approved program
Arm Design Reviews
Community Help
More
Cancel
Developer Community
Tools and Software
Software Tools
Jump...
Cancel
Software Tools
Arm Development Studio forum
Boot ROM Question of NXP LPC17xx
Tools, Software and IDEs blog
Forums
Videos & Files
Help
Jump...
Cancel
New
Replies
4 replies
Subscribers
126 subscribers
Views
4083 views
Users
0 members are here
Related
Boot ROM Question of NXP LPC17xx
Offline
Woody Wu
over 7 years ago
Note: This was originally posted on 9th June 2011 at http://forums.arm.com
Hi,
I am about to use LPC17xx to do some work. But I don't quite understand
it's boot ROM remapping. According to ARMv7 architecture manual, the
first vector entry (address 0x00 to 0x03) should be value of SP and the
second entry (address 0x04 to 0x07) should be reset entry (the starting
point of the user program). On the other hand, the LPC17xx manual said
that at boot time, a portion of the 8K boot ROM is temporarily remapped
to address 0x00000000. So I was wondering, what are the values in the
first 16 bytes in boot ROM? And, how a user program is finally get
executed? Where is my stack top?
Thanks in advance if you can give me some clues.
-
narke
Parents
Offline
Joseph Yiu
over 7 years ago
Note: This was originally posted on 9th June 2011 at
http://forums.arm.com
Hi Narke,
Regarding (1):
The flash memory in LPC17xx can be programmed using serial communication with
some flash programming firmware (in the boot loader) running.
See chapter 32 of User manual (
http://www.nxp.com/documents/user_manual/UM10360.pdf
)
An example method of using this flash programming mechanism is flash magic (
http://www.flashmagictool.com/
).
The boot loader also check if the flash is programmed before running the program in flash.
This is done by detecting a checksum. (See 32.3.1.1 of the LPC17xx User manual)
Regarding (2):
Yes, please see "32.4 Boot process flowchart" in the user manual, and section 32.3:
"The flash boot loader code is executed every time the part is powered on or reset. The
loader can execute the ISP command handler or the user application code. A LOW level
after reset at pin P2.10 is considered an external hardware request to start the ISP
command handler."
So when you design your circuit, make sure P2.10 is not low when it startup.
(Best to put a jumper or DIP switch so you can control it for debug purpose.)
regards,
Joseph
Cancel
Up
0
Down
Reply
Cancel
Reply
Offline
Joseph Yiu
over 7 years ago
Note: This was originally posted on 9th June 2011 at
http://forums.arm.com
Hi Narke,
Regarding (1):
The flash memory in LPC17xx can be programmed using serial communication with
some flash programming firmware (in the boot loader) running.
See chapter 32 of User manual (
http://www.nxp.com/documents/user_manual/UM10360.pdf
)
An example method of using this flash programming mechanism is flash magic (
http://www.flashmagictool.com/
).
The boot loader also check if the flash is programmed before running the program in flash.
This is done by detecting a checksum. (See 32.3.1.1 of the LPC17xx User manual)
Regarding (2):
Yes, please see "32.4 Boot process flowchart" in the user manual, and section 32.3:
"The flash boot loader code is executed every time the part is powered on or reset. The
loader can execute the ISP command handler or the user application code. A LOW level
after reset at pin P2.10 is considered an external hardware request to start the ISP
command handler."
So when you design your circuit, make sure P2.10 is not low when it startup.
(Best to put a jumper or DIP switch so you can control it for debug purpose.)
regards,
Joseph
Cancel
Up
0
Down
Reply
Cancel
Children
No data
More questions in this forum
By title
By date
By reply count
By view count
By most asked
By votes
By quality
Descending
Ascending
All recent questions
Unread questions
Questions you've participated in
Questions you've asked
Unanswered questions
Answered questions
Questions with suggested answers
Questions with no replies
Suggested Answer
DS-5 bare metal wait error after run "debug"
0
DS-5 Development Studio
Debugging
Arm Compiler 5
Memory
30861
views
14
replies
Latest
3 months ago
by
prasadghole
Suggested Answer
ARM development studio with ARM Juno r2 board
0
Juno Arm Development Platform
Arm Development Studio
Products
Arm Support
8007
views
2
replies
Latest
3 months ago
by
Ronan Synnott
Answered
"Unable to execute remote query (response code 503) " issue
0
7737
views
1
reply
Latest
3 months ago
by
Ronan Synnott
Not Answered
Where can I download DS-5 hardware firmware??
0
7210
views
1
reply
Latest
3 months ago
by
Ronan Synnott
Not Answered
Getting errors after including arm_math.h
0
stm32 h7
Keil
Digital Signal Processor (DSP)
STM32
27068
views
9
replies
Latest
3 months ago
by
roger-liu
<
>
View all questions in Arm Development Studio forum