This shows you the differences between two versions of the page.
ass:labs-2025:01 [2025/08/03 12:44] florin.stancu |
ass:labs-2025:01 [2025/08/04 12:36] (current) florin.stancu [01 - Firmware & Bootloaders] |
||
---|---|---|---|
Line 1: | Line 1: | ||
~~NOTOC~~ | ~~NOTOC~~ | ||
- | ===== 01 - Firmware & Bootloaders ===== | + | ===== 01 - Firmware & Bootloader ===== |
===== Objectives ===== | ===== Objectives ===== | ||
Line 27: | Line 27: | ||
When everything is ready, you'll get to fire up the board, upload the firmware image package using NXP's specific serial boot protocol and play with it! | When everything is ready, you'll get to fire up the board, upload the firmware image package using NXP's specific serial boot protocol and play with it! | ||
- | |||
- | <note tip> | ||
- | **Suggestion #1:** After manually solving each task, automate the steps you've taken by writing a [[https://makefiletutorial.com/|Makefile]]. Chances are that you're going to have to rebuild things (at least partially) dozens of times, and you'll also need to reuse your scripts usable for the next labs as well! E.g.: <code Makefile> | ||
- | export CROSS_COMPILE = /path/to/your/toolchain/gcc-prefix...- | ||
- | |||
- | ATF_DIR = imx-atf | ||
- | ATF_MAKE_FLAGS = SPD=none PLAT=TODO... | ||
- | atf: | ||
- | make -C "$(ATF_DIR)" $(ATF_MAKE_FLAGS) | ||
- | |||
- | UBOOT_DIR = u-boot-tn-imx | ||
- | UBOOT_MAKE_FLAGS = | ||
- | uboot: | ||
- | make -C "$(UBOOT_DIR)" $(UBOOT_MAKE_FLAGS) | ||
- | |||
- | .PHONY: uboot atf | ||
- | # ... and so on ! | ||
- | </code> | ||
- | |||
- | **Suggestion #2:** You can either manually download all required open-source projects via git or use git submodules and add them to a parent repository! But beware though: Linux's repo is quite huge (several GBs -- but you'll see it yourself in the next lab)! | ||
- | </note> | ||
{{namespace>:ass:labs-2025:01:tasks&nofooter&noeditbutton}} | {{namespace>:ass:labs-2025:01:tasks&nofooter&noeditbutton}} | ||