diff --git a/arch/arm/src/a1x/a1x_boot.c b/arch/arm/src/a1x/a1x_boot.c index 203de866f8..8b0cf23c1a 100644 --- a/arch/arm/src/a1x/a1x_boot.c +++ b/arch/arm/src/a1x/a1x_boot.c @@ -139,6 +139,8 @@ static inline void a1x_setupmappings(void) { int i; + /* Set up each group of section mappings */ + for (i = 0; i < NMAPPINGS; i++) { mmu_l1_map_region(§ion_mapping[i]); @@ -162,7 +164,7 @@ static void a1x_vectorpermissions(uint32_t mmuflags) uint32_t pte = mmu_l2_getentry(PG_L2_VECT_VADDR, 0); - /* String the MMU flags from the page table entry. + /* Mask out the old MMU flags from the page table entry. * * The pte might be zero the first time this function is called. */ diff --git a/arch/arm/src/armv7-a/arm_head.S b/arch/arm/src/armv7-a/arm_head.S index a049f1c017..25ccb38bcc 100644 --- a/arch/arm/src/armv7-a/arm_head.S +++ b/arch/arm/src/armv7-a/arm_head.S @@ -225,7 +225,7 @@ __start: * mapped RAM in either case. So we will need to create a special * mapping for the page table. * - * Load informtion needed to map the page table. After the ldmia, we + * Load information needed to map the page table. After the ldmia, we * will have * * R1 = The aligned, physical base address of the page table diff --git a/arch/arm/src/armv7-a/arm_mmu.c b/arch/arm/src/armv7-a/arm_mmu.c index ee310c25e3..f82490caf8 100644 --- a/arch/arm/src/armv7-a/arm_mmu.c +++ b/arch/arm/src/armv7-a/arm_mmu.c @@ -165,7 +165,7 @@ void mmu_l1_map_region(const struct section_mapping_s *mapping) uint32_t mmuflags = mapping->mmuflags; int i; - /* Loop, writting each mapping into the L1 page table */ + /* Loop, writing each mapping into the L1 page table */ for (i = 0; i < mapping->nsections; i++) { @@ -194,7 +194,7 @@ void mmu_invalidate_region(uint32_t vstart, size_t size) uint32_t vaddr = vstart & 0xfffff000; uint32_t vend = vaddr + size; - /* Loop, writting each mapping into the L1 page table */ + /* Loop, writing each mapping into the L1 page table */ while (vaddr < vend) { diff --git a/arch/arm/src/sama5/sam_boot.c b/arch/arm/src/sama5/sam_boot.c index 2351e26daa..a2a7fc8628 100644 --- a/arch/arm/src/sama5/sam_boot.c +++ b/arch/arm/src/sama5/sam_boot.c @@ -321,6 +321,8 @@ static inline void sam_setupmappings(void) { int i; + /* Set up each group of section mappings */ + for (i = 0; i < NMAPPINGS; i++) { mmu_l1_map_region(§ion_mapping[i]); @@ -341,6 +343,8 @@ static inline void sam_remap(void) { int i; + /* Re-map each group of section */ + for (i = 0; i < NREMAPPINGS; i++) { mmu_l1_map_region(&operational_mapping[i]); @@ -364,7 +368,7 @@ static void sam_vectorpermissions(uint32_t mmuflags) uint32_t pte = mmu_l2_getentry(PG_L2_VECT_VADDR, 0); - /* String the MMU flags from the page table entry. + /* Mask out the old MMU flags from the page table entry. * * The pte might be zero the first time this function is called. */ diff --git a/configs/pcduino-a10/README.txt b/configs/pcduino-a10/README.txt index 2e40c04a9a..3d193a51f0 100644 --- a/configs/pcduino-a10/README.txt +++ b/configs/pcduino-a10/README.txt @@ -255,10 +255,28 @@ Booting NuttX from an SD card These are the steps to get U-Boot booting from SD Card: - $ git clone https://github.com/yuq/u-boot-sunxi.git - $ cd u-boot-sunxi - $ make pcduino CROSS_COMPILE=arm-none-eabi- - $ sudo dd if=./spl/sunxi-spl.bin of=/dev/sdb bs=1024 seek=8 - $ sudo dd if=nuttx.bin of=/dev/sdb bs=1024 seek=32 + 1. Get the U-Boot sources for the pcDuino + + $ git clone https://github.com/yuq/u-boot-sunxi.git + + 2. Build U-Boot. We really only want the SPL program; this builds + the whole thing: + + $ cd u-boot-sunxi + $ make pcduino CROSS_COMPILE=arm-none-eabi- + + NOTES: + a. You may need to use a different tool prefix for the CROSS_COMPILE= + value, depending upon what toolchain you have installed and upon + which platform your are working. + b. When I try this on Cygwin, I get a make failure that is, apparently, + due to some script incompatibility. + + 3. Insert a FLASH stick. Use dmesg to get the name of the new USB + device. Make sure that it is not mounted, then (assuming that the + USB device is /dev/sdb): + + $ sudo dd if=./spl/sunxi-spl.bin of=/dev/sdb bs=1024 seek=8 + $ sudo dd if=nuttx.bin of=/dev/sdb bs=1024 seek=32 Reference: https://www.olimex.com/wiki/Bare_Metal_programming_A13#Stand_alone_program_running_with_uboot