I’m a software novice, I’m good at hardware after all, I want to use SD card, I refer to the documentation:
Jetson_Nano_Product_Design_Guide_DG-09502-001_v2.2
SD Card Connection Example section
Connect SDMMC_VDD_EN to GPIO7 low level enable
SDMMC_CD is connected to GPIO12, and the test logic functions are all normal
I have inquired about the problems encountered by other people in the forum, and found that I need to modify the guide,
So I will
In the directory /boot/extlinux/extlinux.conf
APPEND ${cbootargs} quiet root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0
After I restarted the power, I couldn’t turn it on, and there were a lot of errors, as if I entered some system
bash-4.4#:
Looking at the serial port log, it seems that it has been rebooted, but there seems to be a problem with the SD card.
I continued to check the posts of other users in the forum and found that sdhci@700b0400 needs to be enabled in the device tree. I am not very clear about how to deal with it here. It seems that the dts file needs to be modified.
I also don’t know how to add modifications, what should I do?
I see a reply, but I don’t know what to do with it
How should the corresponding functions of GPIO7 and GPIO12 be specified in software?
(GPIO12 PIN 218)
(GPIO7 PIN 206)
If you have no experience with “device tree”, I would suggest you can find someone who is familiar with linux kernel to do this work for you. Otherwise it will be painful.
Actually there are two issues here.
a) Booting from extra sdcard: This is not supported directly.
b) Most of cases on the forum are making the linux kernel able to detect the extra sdcard you added. That is what device tree is doing.
The difference between (a) and (b) is:
(a) is trying to boot the kernel from the sdcard, so the bootloader side needs to enable and load the extra sdcard slot. Which is not supported by default.
(b) is not “booting form” extra sdcard slot. That is more like we enable the I/O function of this sdcard so that you will be able to use it after system is up. The kernel is still from the emmc.
Thus, make sure what you want to do before asking the question.