Hardware Documentation
CPU Core: ARM Cortex-M0+
- Introducing the Cortex-M0+ Processor: The Ultimate in Low Power
- Cortex-M0+ Device Generic User Guide – DUI0662B_cortex_m0p_r0p1_dgug
- Cortex-M0+ Technical Reference Manual – DDI0484B_CORTEX_M0P_R0P0_TRM
- DDI0419C_arm_architecture_v6m_reference_manual
MCU: NXP KL25Z128
Development Board: NXP FRDM-KL25Z
- Labels and placement diagrams
- FRDM-KL25Z User’s Manual (Rev 2)
- FRDM-KL25Z and OpenSDA Overview (v5)
- FRDM-KL25Z Pinouts (Rev 1.0)
- Schematic SPF-27556_E
- RGB LED: CLV1AFKB(874)
- Inertial Sensor (Accelerometer)
- Datasheets: MMA8451Q rev10, MMA8451Q rev7.1
- Application Notes: AN4076 AN4069 AN4070 AN4071
- Voltage Regulator: NCP1117-D
Expansion Shield
- Diagrams
- Hardware Manual
- Freedom-KL25Z Shield v14 Hardware Manual (11/4/2024)
- Data Sheets
- HBLED XlampMLE, XLamp_EyeSafety
- LCD
- Module NHD-2.4-240320CF-CTXI-FT
- Controller ST7789S
- Audio Amplifier 31AP4991
- SD Card Specification v8
- SMPS
- Gate driver buffer sn74lvc1g04
- Inductor SDR0604
- Capacitors mlcc01_e
- Transistors Infineon-BSS215P-DS-v02_03-en , ao3416 or AO3420
- Diode rb550vm-30te-17-e, was DB2J209_E
- Connector J3 62684
- Designs for 3D-printed components at Tinkercad.
- Current
- Old
Hardware Assembly Instructions
- Freedom Board Assembly – header installation video shows how to align J1/2/9/10 headers on FRDM-KL25Z to fit your shield.
- Shield Assembly Instructions (V14)
- Shield Testing Instructions
Software
Code Base
- Git
- Repositories: ESA-24 (class), ESF/NXP (code, instructions, labels, drivers)
- Learn git concepts, not commands.
Build Chain
- MDK-ARM Lite Integrated Development Environment (IDE)
- Getting Started with MDK
- Download page – Use the Download MDK-Core link. Skip license activation to use the MDK-Lite edition.
- App. Note 232 covers installation and use, but its PDF instructions are out of date. Please refer to Practical Homework 1 for updated instructions.
- App. Note 298 Migrate ARM Compiler 5 to ARM Compiler 6
Appendix: Unused Tools
Code Analysis
- Call Graph Tool (TBD)
- Must be located in ESA-23/Tools/Calls
- Requires Graphviz and Python
- Keil MDK-ARM: Target Options
- Linker -> Misc Controls: –callgraph_file=mycallgraph.txt –callgraph_output=text
- Listings -> check Linker Listing box.
- Get Regions: PC-Sampling Profiler (TBD)
- Ghidra
- To create a new project:
-
- Start Ghidra
- File->New Project (Ctl-N)
- Select Non-Shared Project, Next
- Define Project Name, change Project Directory if needed
- Click on green Ghidra head in Tool Chest (upper left)
- File->Import File (I) to select the .axf from MDK project’s Object directory
- Import … OK.
- OK for import results
- Answer Yes to “… has not been analyzed. Would you like to analyze it now?”
- In Analysis Options -> Analyzers, select DWARF, then in Options check Preload all DIEs (the last box)
- Then select Analyze.
Test Equipment
- Scope Triggering