Implementation of booting Linux from TF card on i.MX6UL[Copy link]
1 The principle of booting Linux with TF card 1.1 Introduction to TF card TF card is also called T-Flash card. Full name: [TransFLash] also known as [Micro SD], composed of Motorola and [ /size]SANDISK It is an ultra-small card (11*15*1MM), about 1/4 of the size of an SD card, and can be considered the smallest storage card currently. MicroSD card is an extremely small card that can store data in a variety of formats. 5Zm5X55xQEboJjqYDP88n5DrEBNe+3GLsCLWatKVAr2epqzsgfOZapuU3NxeABp+5PK+ut8oDrl7ANFRrV2OVE+vecFHp8mEb3xo8UPHY9qHh6BM0y]flash memory[/url]card, the format of which is derived fromSanDisk created this memory card. Originally, it was called T-Flash, and later changed to TransFlash. The reason for renaming it microSD was because it was adopted by the SD Association (SDA). It is mainly used in mobile phones, but because of its small size and increasing storage capacity, it is now used in txi7Ai1mrSlQK9nqas7IHzmWqblNzcXgAafuTyvrrfKA65ewDRUa1djlRPr3nBR6fJhG98aPFDx2Pah4egTNMg==]GPS device[/url], portableMusic player and some flash memory disk. Its volume is 1mm x 15mm x1mm, which is about the size of a fingernail. It is the smallest memory card currently. It can also be connected to the SD card slot through an SD adapter card. 1.2 High-speed card and low-speed card
TF Cards are divided into high-speed cards and low-speed cards. The method of distinguishing TF high-speed cards and low-speed cards is mainly to identify them by the speed grade mark on the TF card. The higher the SD standard that the TF card meets, the higher the speed grade, and the faster the reading and writing speed. As shown in Figure 1-1, pay attention to the 4 in the circle on the upper right corner, which means that this is a normal speed card, and the general file transfer speed is below 8MB per second. The response is relatively slow, and the file transfer is even slower. As shown in Figure 1-1, it is a high-speed card. Pay attention to the 10 in the circle on the right, which means that the general speed of a high-speed card is above 10MB per second.
When the BOOT_MODE[1:0] register is 00b, booting in Fuses mode is selected. This mode is very similar to the internal boot mode, with one difference: the GPIO boot (internal boot) override pin is ignored in this mode. Internal Boot Mode (BOOT_MODE[1:0] = 0b10) Internal Boot Mode (BOOT_MODE[1:0] = 0b10) Internal boot mode is selected when the BOOT_MODE[1:0] register value is 0b10. In this mode, the processor continues to execute the internal boot code. The boot code performs hardware initialization, loads the program image from the selected boot device, performs image validity checks using HAB, and then jumps to the program image address. If any errors occur during the internal boot, the boot code jumps to the serial downloader. Internal boot mode is generally only used during the development phase of a product because it takes up a lot of GPIO resources, which are key data and address control lines in the EIM. In Fuses boot mode, once these eFuses are burned, they cannot be re-erased and modified, which is obviously not conducive to trial and error during development (if errors occur, we even have to consider replacing the CPU). During the development phase, we use jumpers to configure efuses, then we debug and test until it is stable, and in the final product, the fuses are burned with eFuses values corresponding to the jumper configuration, and finally the jumpers on these GPIOs can be removed for general use.
Download mode (BOOT_MODE[1:0] =0b01)
In this mode, i.mx6ul is in download mode, and the storage media of i.mx6ul can be burned through the mfgtools tool.
EVB-P6ULSupports the startup of 4 storage media, namely SD/TF card startup, NAND startup, eMMC startup and QSPI startup (divided into four different categories of products, according to the different core modules selected by the customer), through the three groups of BT_CFG1, BT_CFG2 and BT_CFG4
0] register is 00b, select boot from Fuses mode. This mode is very similar to internal boot mode, but with one difference: in this mode, the GPIO boot (internal boot) override pin is ignored. Internal boot mode (BOOT_MODE[1:0] =0b10) When the value of the BOOT_MODE[1:0] register is 0b10, internal boot mode is selected. In this mode, the processor continues to execute the internal boot code. The boot code performs hardware initialization, loads the program image from the selected boot device, performs image validity checks using HAB, and then jumps to the program image address. If any errors occur during the internal boot, the boot code jumps to the serial downloader. Internal boot mode is generally only used during the development phase of the product because this mode uses a large number of GPIO resources, which are key data and address control lines in the EIM. In Fuses boot mode, once these eFuses are burned, they cannot be re-erased and modified, which is obviously not conducive to trial and error during development (if errors occur, we even have to consider replacing the CPU). During the development phase, we use jumpers to configure efuses, then we debug and test until it is stable, and in the final product, the fuses are burned with eFuses values corresponding to the jumper configuration, and finally the jumpers on these GPIOs can be removed for general use.
Download mode (BOOT_MODE[1:0] =0b01)
In this mode, i.mx6ul is in download mode, and the storage media of i.mx6ul can be burned through the mfgtools tool.
EVB-P6ULSupports the startup of 4 storage media, namely SD/TF card startup, NAND startup, eMMC startup and QSPI startup (divided into four different categories of products, according to the different core modules selected by the customer), through the three groups of BT_CFG1, BT_CFG2 and BT_CFG4
0] register is 00b, select boot from Fuses mode. This mode is very similar to internal boot mode, but with one difference: in this mode, the GPIO boot (internal boot) override pin is ignored. Internal boot mode (BOOT_MODE[1:0] =0b10) When the value of the BOOT_MODE[1:0] register is 0b10, internal boot mode is selected. In this mode, the processor continues to execute the internal boot code. The boot code performs hardware initialization, loads the program image from the selected boot device, performs image validity checks using HAB, and then jumps to the program image address. If any errors occur during the internal boot, the boot code jumps to the serial downloader. Internal boot mode is generally only used during the development phase of the product because this mode uses a large number of GPIO resources, which are key data and address control lines in the EIM. In Fuses boot mode, once these eFuses are burned, they cannot be re-erased and modified, which is obviously not conducive to trial and error during development (if errors occur, we even have to consider replacing the CPU). During the development phase, we use jumpers to configure efuses, then we debug and test until it is stable, and in the final product, the fuses are burned with eFuses values corresponding to the jumper configuration, and finally the jumpers on these GPIOs can be removed for general use.
Download mode (BOOT_MODE[1:0] =0b01)
In this mode, i.mx6ul is in download mode, and the storage media of i.mx6ul can be burned through the mfgtools tool.
EVB-P6ULSupports the startup of 4 storage media, namely SD/TF card startup, NAND startup, eMMC startup and QSPI startup (divided into four different categories of products, according to the different core modules selected by the customer), through the three groups of BT_CFG1, BT_CFG2 and BT_CFG4