eMMC module

marchingband
Posts: 46
Joined: Wed Mar 13, 2019 9:20 pm

eMMC module

Postby marchingband » Wed Apr 03, 2019 11:18 pm

Hello.
I am trying to use sdmmc_read_sectors() to read data from an eMMC module.
The sd_card example, which uses fread(), works well, but the lower level driver functions do not, I get error #109.
I am using this emmc->sd module and adapter.
https://www.friendlyarm.com/index.php?r ... uct_id=208
Is there any advice or resources anyone can offer as I try to debug?
thank you!

mikemoy
Posts: 604
Joined: Fri Jan 12, 2018 9:10 pm

Re: eMMC module

Postby mikemoy » Thu Apr 04, 2019 11:07 am

I have those adapters as well. I cannot explain why when you stick them in your PC you can use them just fine. Yet when you stick them in a device as a replacement for a uSD they do not work. For instance if you try using it in another device say a RPI board as the boot uSd card it wont boot from it.

Leubat
Posts: 1
Joined: Thu Apr 04, 2019 8:51 am

Re: eMMC module

Postby Leubat » Thu Apr 04, 2019 11:09 am

I ordered my rock64 a few days ago but I'm not expecting it to arrive for a few weeks yet as I live in the UK.

I ordered a 32GB eMMC from a UK electronics company but I got sent a chip, not a module that would work with the rock64 so I'm having to return it. They had no pictures of it on their site so I didn't know what it was until it arrived.

I've read on this forum that the rock64 is compatible with odroid emmc modules but which odroid model is the rock64 (most) compatible with? odroid.co.uk sells emmc modules for the odroid C1/C1+, C2 or XU3/XU4. I'm not sure if these modules all have different connectors or if its just different software pre-loaded onto them?

Is there anywhere else is the UK or Europe apart from odroid.co.uk and allo that sells emmc modules? Is there a best brand or model to look for? Has anyone done any benchmarks of different emmc modules with the rock64? Tell me everything I might need to know about emmcs and the rock64 please, the rock64/pine64 page doesn't tell us much about this.

mikemoy
Posts: 604
Joined: Fri Jan 12, 2018 9:10 pm

Re: eMMC module

Postby mikemoy » Thu Apr 04, 2019 1:18 pm


marchingband
Posts: 46
Joined: Wed Mar 13, 2019 9:20 pm

Re: eMMC module

Postby marchingband » Thu Apr 04, 2019 6:04 pm

This is a post about esp32 using esp-idf.
Like I said, the vfs seems to mount the eMMC, and fread() and fwrite() work well, my question is about why sdmmc_write_sectors() and sdmmc_read_sectors() does not work. The same code works for an SD card, but when I try with eMMC it fails. The documentation simply says to treat eMMC exactly like an SD card, and I can't locate any other info regarding eMMC in the docs or readme's. Any tips greatly appreciated, I found a thread where it seemed like a great deal of work went into the eMMC compatibility, and if anyone has access to docs or any info, I would be grateful.

Deouss
Posts: 425
Joined: Tue Mar 20, 2018 11:36 am

Re: eMMC module

Postby Deouss » Thu Apr 04, 2019 6:34 pm

So what read/write speeds those modules achieve?
Is it faster than WiFi?
Also that errors could be related to file size which is 4GB max for 32bit filesystem

marchingband
Posts: 46
Joined: Wed Mar 13, 2019 9:20 pm

Re: eMMC module

Postby marchingband » Thu Apr 04, 2019 7:45 pm

I will be able to determine the actual speed once I get sdmmc_read_sectors() working.
I am trying to read/write a single sector, sector number 1000, which is 512 bytes.
Is there a flag or other member of one of the structs that needs to be different for eMMC to work? The only difference is when using fread() one first calls esp_vfs_fat_sdmmc_mount(), so I am GUESSING that something in that function call sets up something for eMMC, but I cannot find it.

marchingband
Posts: 46
Joined: Wed Mar 13, 2019 9:20 pm

Re: eMMC module

Postby marchingband » Thu Apr 04, 2019 8:55 pm

I now have sdmmc_read_sectors() working with eMMC in 1-line mode, however, in 4-line mode, it quietly returns incorrect values. No errors.
Any ideas what's happening?
thank you!

ESP_igrr
Posts: 2067
Joined: Tue Dec 01, 2015 8:37 am

Re: eMMC module

Postby ESP_igrr » Fri Apr 05, 2019 2:31 am

Hi marchinband,

Could you please give some extra information to help us reproduce the issue? What is the part number of eMMC used? Which of the ESP32 pins is it connected to? Are you using the DDR mode? What is the host configuration? (please post the initialization code). Can you please also enable "debug" log level in menuconfig, and post the debug output for this situation? (sdmmc_read_sectors quietly returns incorrect data). In theory, SD interface transfers are protected by CRC, so if incorrect data is read from the interface, this should be detected by the driver...

Edit: in the earlier post you have indicated that you are getting error 0x109, which is a CRC error. The fact that it occurs in 4 line mode but not in 1 line mode almost always points to an issue with signal levels on GPIOs used for D1-D3 lines. Please double check that pull-up resistors are present on these pins.

marchingband
Posts: 46
Joined: Wed Mar 13, 2019 9:20 pm

Re: eMMC module

Postby marchingband » Fri Apr 05, 2019 5:03 pm

I get the same result using 2 different parts :
SAMSUNG KLM8G1WEPD-B031
SAMSUNG KLM8G1GETF-B041

The same code works perfectly with an SD card, so I am confident the connections are all correct, and the lines are short enough, etc. I am also very surprised to see wrong data get past the CRC check.

my code :

Code: Select all

void app_main(void)
{
  sdmmc_host_init();

  sdmmc_slot_config_t slot_config = SDMMC_SLOT_CONFIG_DEFAULT();
  slot_config.width = 4;

  sdmmc_host_init_slot(SDMMC_HOST_SLOT_1, &slot_config);

  sdmmc_host_t host = SDMMC_HOST_DEFAULT();
  host.max_freq_khz = SDMMC_FREQ_HIGHSPEED;

  sdmmc_card_t card;
  sdmmc_card_init(&host,&card);

  sdmmc_card_print_info(stdout, &card);

  gpio_set_pull_mode(15, GPIO_PULLUP_ONLY);   // CMD, needed in 4- and 1- line modes
  gpio_set_pull_mode(2, GPIO_PULLUP_ONLY);    // D0, needed in 4- and 1-line modes
  gpio_set_pull_mode(4, GPIO_PULLUP_ONLY);    // D1, needed in 4-line mode only
  gpio_set_pull_mode(12, GPIO_PULLUP_ONLY);   // D2, needed in 4-line mode only
  gpio_set_pull_mode(13, GPIO_PULLUP_ONLY);   // D3, needed in 4- and 1-line modes

  static int8_t data[512] = {9};
  static int8_t buff[512] = {0};

  ESP_ERROR_CHECK( sdmmc_write_sectors(&card, data, 1000, 1) );
  ESP_ERROR_CHECK( sdmmc_read_sectors(&card, buff, 1000, 1) );
  int return1 = buff[0];
  ESP_LOGI(TAG, "read %d", return1);

}
the log in DEBUG mode :

Code: Select all

rst:0x1 (POWERON_RESET),boot:0x3f (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0018,len:4
load:0x3fff001c,len:6352
ho 0 tail 12 room 4
load:0x40078000,len:11308
load:0x40080400,len:6680
entry 0x40080760
I (31) boot: ESP-IDF v3.3-beta2-53-g79ca95ddf-dirty 2nd stage bootloader
I (31) boot: compile time 09:51:53
I (32) boot: Enabling RNG early entropy source...
I (37) boot: SPI Speed      : 40MHz
I (42) boot: SPI Mode       : DIO
I (46) boot: SPI Flash Size : 4MB
I (50) boot: Partition Table:
I (53) boot: ## Label            Usage          Type ST Offset   Length
I (60) boot:  0 nvs              WiFi data        01 02 00009000 00006000
I (68) boot:  1 phy_init         RF data          01 01 0000f000 00001000
I (75) boot:  2 factory          factory app      00 00 00010000 00100000
I (83) boot: End of partition table
I (87) esp_image: segment 0: paddr=0x00010020 vaddr=0x3f400020 size=0x0c098 ( 49304) map
I (113) esp_image: segment 1: paddr=0x0001c0c0 vaddr=0x3ffb0000 size=0x020ac (  8364) load
I (117) esp_image: segment 2: paddr=0x0001e174 vaddr=0x40080000 size=0x00400 (  1024) load
0x40080000: _WindowOverflow4 at /Users/andymarch/esp/esp-idf/components/freertos/xtensa_vectors.S:1779

I (120) esp_image: segment 3: paddr=0x0001e57c vaddr=0x40080400 size=0x01a94 (  6804) load
I (132) esp_image: segment 4: paddr=0x00020018 vaddr=0x400d0018 size=0x17098 ( 94360) map
0x400d0018: _flash_cache_start at ??:?

I (171) esp_image: segment 5: paddr=0x000370b8 vaddr=0x40081e94 size=0x061ac ( 25004) load
0x40081e94: _xt_user_exit at /Users/andymarch/esp/esp-idf/components/freertos/xtensa_vectors.S:790

I (187) boot: Loaded app from partition at offset 0x10000
I (187) boot: Disabling RNG early entropy source...
I (187) cpu_start: Pro cpu up.
I (191) cpu_start: Application information:
I (196) cpu_start: Project name:     sd_tests
I (201) cpu_start: App version:      d7f4893-dirty
I (206) cpu_start: Compile time:     Apr  5 2019 09:51:58
I (212) cpu_start: ELF file SHA256:  b13cb87daa600bfb...
I (218) cpu_start: ESP-IDF:          v3.3-beta2-53-g79ca95ddf-dirty
I (225) cpu_start: Starting app cpu, entry point is 0x40080e64
0x40080e64: call_start_cpu1 at /Users/andymarch/esp/esp-idf/components/esp32/cpu_start.c:267

I (0) cpu_start: App cpu up.
D (235) memory_layout: Checking 7 reserved memory ranges:
D (241) memory_layout: Reserved memory range 0x3ffae000 - 0x3ffae6e0
D (247) memory_layout: Reserved memory range 0x3ffb0000 - 0x3ffb3350
D (254) memory_layout: Reserved memory range 0x3ffe0000 - 0x3ffe0440
D (260) memory_layout: Reserved memory range 0x3ffe3f20 - 0x3ffe4350
D (266) memory_layout: Reserved memory range 0x40070000 - 0x40078000
D (273) memory_layout: Reserved memory range 0x40078000 - 0x40080000
0x40080000: _WindowOverflow4 at /Users/andymarch/esp/esp-idf/components/freertos/xtensa_vectors.S:1779

D (279) memory_layout: Reserved memory range 0x40080000 - 0x4008803f
0x40080000: _WindowOverflow4 at /Users/andymarch/esp/esp-idf/components/freertos/xtensa_vectors.S:1779

D (286) memory_layout: Building list of available memory regions:
D (292) memory_layout: Available memory region 0x3ffae6e0 - 0x3ffb0000
D (298) memory_layout: Available memory region 0x3ffb3350 - 0x3ffb8000
D (305) memory_layout: Available memory region 0x3ffb8000 - 0x3ffc0000
D (312) memory_layout: Available memory region 0x3ffc0000 - 0x3ffc2000
D (318) memory_layout: Available memory region 0x3ffc2000 - 0x3ffc4000
D (325) memory_layout: Available memory region 0x3ffc4000 - 0x3ffc6000
D (331) memory_layout: Available memory region 0x3ffc6000 - 0x3ffc8000
D (338) memory_layout: Available memory region 0x3ffc8000 - 0x3ffca000
D (345) memory_layout: Available memory region 0x3ffca000 - 0x3ffcc000
D (351) memory_layout: Available memory region 0x3ffcc000 - 0x3ffce000
D (358) memory_layout: Available memory region 0x3ffce000 - 0x3ffd0000
D (364) memory_layout: Available memory region 0x3ffd0000 - 0x3ffd2000
D (371) memory_layout: Available memory region 0x3ffd2000 - 0x3ffd4000
D (378) memory_layout: Available memory region 0x3ffd4000 - 0x3ffd6000
D (384) memory_layout: Available memory region 0x3ffd6000 - 0x3ffd8000
D (391) memory_layout: Available memory region 0x3ffd8000 - 0x3ffda000
D (397) memory_layout: Available memory region 0x3ffda000 - 0x3ffdc000
D (404) memory_layout: Available memory region 0x3ffdc000 - 0x3ffde000
D (411) memory_layout: Available memory region 0x3ffde000 - 0x3ffe0000
D (417) memory_layout: Available memory region 0x3ffe0440 - 0x3ffe3f20
D (424) memory_layout: Available memory region 0x3ffe4350 - 0x3ffe8000
D (430) memory_layout: Available memory region 0x3ffe8000 - 0x3fff0000
D (437) memory_layout: Available memory region 0x3fff0000 - 0x3fff8000
D (444) memory_layout: Available memory region 0x3fff8000 - 0x3fffc000
D (450) memory_layout: Available memory region 0x3fffc000 - 0x40000000
D (457) memory_layout: Available memory region 0x40088040 - 0x4008a000
D (463) memory_layout: Available memory region 0x4008a000 - 0x4008c000
D (470) memory_layout: Available memory region 0x4008c000 - 0x4008e000
D (477) memory_layout: Available memory region 0x4008e000 - 0x40090000
D (483) memory_layout: Available memory region 0x40090000 - 0x40092000
D (490) memory_layout: Available memory region 0x40092000 - 0x40094000
D (496) memory_layout: Available memory region 0x40094000 - 0x40096000
D (503) memory_layout: Available memory region 0x40096000 - 0x40098000
D (509) memory_layout: Available memory region 0x40098000 - 0x4009a000
D (516) memory_layout: Available memory region 0x4009a000 - 0x4009c000
D (523) memory_layout: Available memory region 0x4009c000 - 0x4009e000
D (529) memory_layout: Available memory region 0x4009e000 - 0x400a0000
I (536) heap_init: Initializing. RAM available for dynamic allocation:
D (543) heap_init: New heap initialised at 0x3ffae6e0
I (548) heap_init: At 3FFAE6E0 len 00001920 (6 KiB): DRAM
D (554) heap_init: New heap initialised at 0x3ffb3350
I (559) heap_init: At 3FFB3350 len 0002CCB0 (179 KiB): DRAM
I (566) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM
I (572) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
D (578) heap_init: New heap initialised at 0x40088040
I (584) heap_init: At 40088040 len 00017FC0 (95 KiB): IRAM
I (590) cpu_start: Pro cpu start user code
D (602) clk: RTC_SLOW_CLK calibration value: 3170918
D (276) intr_alloc: Connected src 46 to int 2 (cpu 0)
D (276) intr_alloc: Connected src 57 to int 3 (cpu 0)
D (277) intr_alloc: Connected src 24 to int 9 (cpu 0)
I (282) cpu_start: Starting scheduler on PRO CPU.
D (0) intr_alloc: Connected src 25 to int 2 (cpu 1)
I (0) cpu_start: Starting scheduler on APP CPU.
D (297) heap_init: New heap initialised at 0x3ffe0440
D (307) heap_init: New heap initialised at 0x3ffe4350
D (317) intr_alloc: Connected src 16 to int 12 (cpu 0)
D (317) sdmmc_periph: peripheral version 5342270a, hardware config 03c44c83
D (327) intr_alloc: Connected src 37 to int 13 (cpu 0)
I (327) gpio: GPIO[13]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0 
D (337) sdmmc_periph: slot=1 host_div=10 card_div=20 freq=400kHz
D (347) sdmmc_periph: slot=1 width=1
D (347) sdmmc_req: process_command_response: error 0x107  (status=00000100)
D (377) sdmmc_req: process_command_response: error 0x107  (status=00000100)
D (377) sdmmc_sd: CMD8 timeout; not an SD v2.00 card
D (377) sdmmc_req: process_command_response: error 0x107  (status=00000100)
D (377) sdmmc_io: sdmmc_init_io: io_send_op_cond (1) returned 0x107; not IO card
D (387) sdmmc_req: process_command_response: error 0x107  (status=00000100)
D (397) sdmmc_req: process_command_response: error 0x107  (status=00000100)
D (407) sdmmc_req: process_command_response: error 0x107  (status=00000100)
D (407) sdmmc_cmd: sdmmc_send_cmd_send_op_cond: sdmmc_send_app_cmd err=0x107
D (417) sdmmc_common: send_op_cond timeout, trying MMC
D (437) sdmmc_common: host_ocr=0xff8000 card_ocr=0xc0ff8080
D (437) sdmmc_common: sdmmc_card_init: host_ocr=00ff8000, card_ocr=c0ff8080
D (437) sdmmc_init: sdmmc_card_init: card type is MMC
D (447) sdmmc_mmc: MMC version: 4
D (457) sdmmc_mmc: card and host support DDR mode
D (457) sdmmc_mmc: MMC card type 87, max_freq_khz=52000, is_ddr=1
D (457) sdmmc_common: sdmmc_init_host_bus_width: using 4-bit bus
D (457) sdmmc_periph: slot=1 width=4
D (467) sdmmc_common: sdmmc_init_host_frequency: using 40000 kHz bus frequency
D (467) sdmmc_periph: slot=1 host_div=4 card_div=0 freq=40000kHz
D (477) sdmmc_periph: slot=1 ddr=1
Name: 8WPD3R
Type: MMC
Speed: 40 MHz, DDR
Size: 7456MB
CSD: ver=3, sector_size=512, capacity=15269888 read_bl_len=9
I (487) sd_tests: read 13
and the log in VERBOSE mode:

Code: Select all

MONITOR
--- idf_monitor on /dev/cu.SLAB_USBtoUART 115200 ---
--- Quit: Ctrl+] | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
ets Jun  8 2016 00:22:57

rst:0x1 (POWERON_RESET),boot:0x3f (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0018,len:4
load:0x3fff001c,len:6352
ho 0 tail 12 room 4
load:0x40078000,len:11308
load:0x40080400,len:6680
entry 0x40080760
I (31) boot: ESP-IDF v3.3-beta2-53-g79ca95ddf-dirty 2nd stage bootloader
I (31) boot: compile time 17:09:08
I (32) boot: Enabling RNG early entropy source...
I (37) boot: SPI Speed      : 40MHz
I (41) boot: SPI Mode       : DIO
I (45) boot: SPI Flash Size : 4MB
I (50) boot: Partition Table:
I (53) boot: ## Label            Usage          Type ST Offset   Length
I (60) boot:  0 nvs              WiFi data        01 02 00009000 00006000
I (68) boot:  1 phy_init         RF data          01 01 0000f000 00001000
I (75) boot:  2 factory          factory app      00 00 00010000 00100000
I (83) boot: End of partition table
I (87) esp_image: segment 0: paddr=0x00010020 vaddr=0x3f400020 size=0x0c7d4 ( 51156) map
I (114) esp_image: segment 1: paddr=0x0001c7fc vaddr=0x3ffb0000 size=0x020ac (  8364) load
I (117) esp_image: segment 2: paddr=0x0001e8b0 vaddr=0x40080000 size=0x00400 (  1024) load
0x40080000: _WindowOverflow4 at /Users/andymarch/esp/esp-idf/components/freertos/xtensa_vectors.S:1779

I (121) esp_image: segment 3: paddr=0x0001ecb8 vaddr=0x40080400 size=0x01358 (  4952) load
I (132) esp_image: segment 4: paddr=0x00020018 vaddr=0x400d0018 size=0x17524 ( 95524) map
0x400d0018: _flash_cache_start at ??:?

I (172) esp_image: segment 5: paddr=0x00037544 vaddr=0x40081758 size=0x068f0 ( 26864) load
0x40081758: esp_timer_impl_set_alarm at /Users/andymarch/esp/esp-idf/components/esp32/esp_timer_esp32.c:340

I (188) boot: Loaded app from partition at offset 0x10000
I (188) boot: Disabling RNG early entropy source...
I (189) cpu_start: Pro cpu up.
I (192) cpu_start: Application information:
I (197) cpu_start: Project name:     sd_tests
I (202) cpu_start: App version:      d7f4893-dirty
I (208) cpu_start: Compile time:     Apr  4 2019 17:09:15
I (214) cpu_start: ELF file SHA256:  feafa007d09f7da5...
I (220) cpu_start: ESP-IDF:          v3.3-beta2-53-g79ca95ddf-dirty
I (227) cpu_start: Starting app cpu, entry point is 0x40080e64
0x40080e64: call_start_cpu1 at /Users/andymarch/esp/esp-idf/components/esp32/cpu_start.c:267

I (0) cpu_start: App cpu up.
V (237) memory_layout: reserved range is 0x3f40c7cc - 0x3f40c7f4
D (243) memory_layout: Checking 7 reserved memory ranges:
D (248) memory_layout: Reserved memory range 0x3ffae000 - 0x3ffae6e0
D (255) memory_layout: Reserved memory range 0x3ffb0000 - 0x3ffb3350
D (261) memory_layout: Reserved memory range 0x3ffe0000 - 0x3ffe0440
D (268) memory_layout: Reserved memory range 0x3ffe3f20 - 0x3ffe4350
D (274) memory_layout: Reserved memory range 0x40070000 - 0x40078000
D (281) memory_layout: Reserved memory range 0x40078000 - 0x40080000
0x40080000: _WindowOverflow4 at /Users/andymarch/esp/esp-idf/components/freertos/xtensa_vectors.S:1779

D (287) memory_layout: Reserved memory range 0x40080000 - 0x40088047
0x40080000: _WindowOverflow4 at /Users/andymarch/esp/esp-idf/components/freertos/xtensa_vectors.S:1779

D (293) memory_layout: Building list of available memory regions:
V (300) memory_layout: Examining memory region 0x3ffae000 - 0x3ffb0000
V (306) memory_layout: Start of region 0x3ffae000 - 0x3ffb0000 overlaps reserved 0x3ffae000 - 0x3ffae6e0
D (316) memory_layout: Available memory region 0x3ffae6e0 - 0x3ffb0000
V (322) memory_layout: Examining memory region 0x3ffb0000 - 0x3ffb8000
V (329) memory_layout: Start of region 0x3ffb0000 - 0x3ffb8000 overlaps reserved 0x3ffb0000 - 0x3ffb3350
D (338) memory_layout: Available memory region 0x3ffb3350 - 0x3ffb8000
V (345) memory_layout: Examining memory region 0x3ffb8000 - 0x3ffc0000
D (352) memory_layout: Available memory region 0x3ffb8000 - 0x3ffc0000
V (358) memory_layout: Examining memory region 0x3ffc0000 - 0x3ffc2000
D (365) memory_layout: Available memory region 0x3ffc0000 - 0x3ffc2000
V (371) memory_layout: Examining memory region 0x3ffc2000 - 0x3ffc4000
D (378) memory_layout: Available memory region 0x3ffc2000 - 0x3ffc4000
V (385) memory_layout: Examining memory region 0x3ffc4000 - 0x3ffc6000
D (391) memory_layout: Available memory region 0x3ffc4000 - 0x3ffc6000
V (398) memory_layout: Examining memory region 0x3ffc6000 - 0x3ffc8000
D (404) memory_layout: Available memory region 0x3ffc6000 - 0x3ffc8000
V (411) memory_layout: Examining memory region 0x3ffc8000 - 0x3ffca000
D (418) memory_layout: Available memory region 0x3ffc8000 - 0x3ffca000
V (424) memory_layout: Examining memory region 0x3ffca000 - 0x3ffcc000
D (431) memory_layout: Available memory region 0x3ffca000 - 0x3ffcc000
V (437) memory_layout: Examining memory region 0x3ffcc000 - 0x3ffce000
D (444) memory_layout: Available memory region 0x3ffcc000 - 0x3ffce000
V (451) memory_layout: Examining memory region 0x3ffce000 - 0x3ffd0000
D (457) memory_layout: Available memory region 0x3ffce000 - 0x3ffd0000
V (464) memory_layout: Examining memory region 0x3ffd0000 - 0x3ffd2000
D (470) memory_layout: Available memory region 0x3ffd0000 - 0x3ffd2000
V (477) memory_layout: Examining memory region 0x3ffd2000 - 0x3ffd4000
D (484) memory_layout: Available memory region 0x3ffd2000 - 0x3ffd4000
V (490) memory_layout: Examining memory region 0x3ffd4000 - 0x3ffd6000
D (497) memory_layout: Available memory region 0x3ffd4000 - 0x3ffd6000
V (503) memory_layout: Examining memory region 0x3ffd6000 - 0x3ffd8000
D (510) memory_layout: Available memory region 0x3ffd6000 - 0x3ffd8000
V (517) memory_layout: Examining memory region 0x3ffd8000 - 0x3ffda000
D (523) memory_layout: Available memory region 0x3ffd8000 - 0x3ffda000
V (530) memory_layout: Examining memory region 0x3ffda000 - 0x3ffdc000
D (536) memory_layout: Available memory region 0x3ffda000 - 0x3ffdc000
V (543) memory_layout: Examining memory region 0x3ffdc000 - 0x3ffde000
D (550) memory_layout: Available memory region 0x3ffdc000 - 0x3ffde000
V (556) memory_layout: Examining memory region 0x3ffde000 - 0x3ffe0000
D (563) memory_layout: Available memory region 0x3ffde000 - 0x3ffe0000
V (569) memory_layout: Examining memory region 0x3ffe0000 - 0x3ffe4000
V (576) memory_layout: Start of region 0x3ffe0000 - 0x3ffe4000 overlaps reserved 0x3ffe0000 - 0x3ffe0440
V (586) memory_layout: End of region 0x3ffe0440 - 0x3ffe4000 overlaps reserved 0x3ffe3f20 - 0x3ffe4350
D (595) memory_layout: Available memory region 0x3ffe0440 - 0x3ffe3f20
V (602) memory_layout: Examining memory region 0x3ffe4000 - 0x3ffe8000
V (608) memory_layout: Start of region 0x3ffe4000 - 0x3ffe8000 overlaps reserved 0x3ffe3f20 - 0x3ffe4350
D (618) memory_layout: Available memory region 0x3ffe4350 - 0x3ffe8000
V (624) memory_layout: Examining memory region 0x3ffe8000 - 0x3fff0000
D (631) memory_layout: Available memory region 0x3ffe8000 - 0x3fff0000
V (637) memory_layout: Examining memory region 0x3fff0000 - 0x3fff8000
D (644) memory_layout: Available memory region 0x3fff0000 - 0x3fff8000
V (651) memory_layout: Examining memory region 0x3fff8000 - 0x3fffc000
D (657) memory_layout: Available memory region 0x3fff8000 - 0x3fffc000
V (664) memory_layout: Examining memory region 0x3fffc000 - 0x40000000
D (670) memory_layout: Available memory region 0x3fffc000 - 0x40000000
V (677) memory_layout: Examining memory region 0x40070000 - 0x40078000
V (684) memory_layout: Region 0x40070000 - 0x40078000 inside of reserved 0x40070000 - 0x40078000
V (692) memory_layout: Examining memory region 0x40078000 - 0x40080000
0x40080000: _WindowOverflow4 at /Users/andymarch/esp/esp-idf/components/freertos/xtensa_vectors.S:1779

V (699) memory_layout: Region 0x40078000 - 0x40080000 inside of reserved 0x40078000 - 0x40080000
0x40080000: _WindowOverflow4 at /Users/andymarch/esp/esp-idf/components/freertos/xtensa_vectors.S:1779

0x40080000: _WindowOverflow4 at /Users/andymarch/esp/esp-idf/components/freertos/xtensa_vectors.S:1779

V (708) memory_layout: Examining memory region 0x40080000 - 0x40082000
0x40080000: _WindowOverflow4 at /Users/andymarch/esp/esp-idf/components/freertos/xtensa_vectors.S:1779

0x40082000: _xt_coproc_exc at /Users/andymarch/esp/esp-idf/components/freertos/xtensa_vectors.S:1064

V (715) memory_layout: Region 0x40080000 - 0x40082000 inside of reserved 0x40080000 - 0x40088048
0x40080000: _WindowOverflow4 at /Users/andymarch/esp/esp-idf/components/freertos/xtensa_vectors.S:1779

0x40082000: _xt_coproc_exc at /Users/andymarch/esp/esp-idf/components/freertos/xtensa_vectors.S:1064

0x40080000: _WindowOverflow4 at /Users/andymarch/esp/esp-idf/components/freertos/xtensa_vectors.S:1779

V (723) memory_layout: Examining memory region 0x40082000 - 0x40084000
0x40082000: _xt_coproc_exc at /Users/andymarch/esp/esp-idf/components/freertos/xtensa_vectors.S:1064

0x40084000: rtc_wdt_set_stage at /Users/andymarch/esp/esp-idf/components/soc/esp32/rtc_wdt.c:126

V (730) memory_layout: Region 0x40082000 - 0x40084000 inside of reserved 0x40080000 - 0x40088048
0x40082000: _xt_coproc_exc at /Users/andymarch/esp/esp-idf/components/freertos/xtensa_vectors.S:1064

0x40084000: rtc_wdt_set_stage at /Users/andymarch/esp/esp-idf/components/soc/esp32/rtc_wdt.c:126

0x40080000: _WindowOverflow4 at /Users/andymarch/esp/esp-idf/components/freertos/xtensa_vectors.S:1779

V (739) memory_layout: Examining memory region 0x40084000 - 0x40086000
0x40084000: rtc_wdt_set_stage at /Users/andymarch/esp/esp-idf/components/soc/esp32/rtc_wdt.c:126

0x40086000: xTaskGetCurrentTaskHandle at /Users/andymarch/esp/esp-idf/components/freertos/tasks.c:4590

V (745) memory_layout: Region 0x40084000 - 0x40086000 inside of reserved 0x40080000 - 0x40088048
0x40084000: rtc_wdt_set_stage at /Users/andymarch/esp/esp-idf/components/soc/esp32/rtc_wdt.c:126

0x40086000: xTaskGetCurrentTaskHandle at /Users/andymarch/esp/esp-idf/components/freertos/tasks.c:4590

0x40080000: _WindowOverflow4 at /Users/andymarch/esp/esp-idf/components/freertos/xtensa_vectors.S:1779

V (754) memory_layout: Examining memory region 0x40086000 - 0x40088000
0x40086000: xTaskGetCurrentTaskHandle at /Users/andymarch/esp/esp-idf/components/freertos/tasks.c:4590

0x40088000: multi_heap_register_impl at /Users/andymarch/esp/esp-idf/components/heap/multi_heap.c:336

V (761) memory_layout: Region 0x40086000 - 0x40088000 inside of reserved 0x40080000 - 0x40088048
0x40086000: xTaskGetCurrentTaskHandle at /Users/andymarch/esp/esp-idf/components/freertos/tasks.c:4590

0x40088000: multi_heap_register_impl at /Users/andymarch/esp/esp-idf/components/heap/multi_heap.c:336

0x40080000: _WindowOverflow4 at /Users/andymarch/esp/esp-idf/components/freertos/xtensa_vectors.S:1779

V (770) memory_layout: Examining memory region 0x40088000 - 0x4008a000
0x40088000: multi_heap_register_impl at /Users/andymarch/esp/esp-idf/components/heap/multi_heap.c:336

V (776) memory_layout: Start of region 0x40088000 - 0x4008a000 overlaps reserved 0x40080000 - 0x40088048
0x40088000: multi_heap_register_impl at /Users/andymarch/esp/esp-idf/components/heap/multi_heap.c:336

0x40080000: _WindowOverflow4 at /Users/andymarch/esp/esp-idf/components/freertos/xtensa_vectors.S:1779

D (786) memory_layout: Available memory region 0x40088048 - 0x4008a000
V (792) memory_layout: Examining memory region 0x4008a000 - 0x4008c000
D (799) memory_layout: Available memory region 0x4008a000 - 0x4008c000
V (806) memory_layout: Examining memory region 0x4008c000 - 0x4008e000
D (812) memory_layout: Available memory region 0x4008c000 - 0x4008e000
V (819) memory_layout: Examining memory region 0x4008e000 - 0x40090000
D (825) memory_layout: Available memory region 0x4008e000 - 0x40090000
V (832) memory_layout: Examining memory region 0x40090000 - 0x40092000
D (839) memory_layout: Available memory region 0x40090000 - 0x40092000
V (845) memory_layout: Examining memory region 0x40092000 - 0x40094000
D (852) memory_layout: Available memory region 0x40092000 - 0x40094000
V (858) memory_layout: Examining memory region 0x40094000 - 0x40096000
D (865) memory_layout: Available memory region 0x40094000 - 0x40096000
V (872) memory_layout: Examining memory region 0x40096000 - 0x40098000
D (878) memory_layout: Available memory region 0x40096000 - 0x40098000
V (885) memory_layout: Examining memory region 0x40098000 - 0x4009a000
D (891) memory_layout: Available memory region 0x40098000 - 0x4009a000
V (898) memory_layout: Examining memory region 0x4009a000 - 0x4009c000
D (905) memory_layout: Available memory region 0x4009a000 - 0x4009c000
V (911) memory_layout: Examining memory region 0x4009c000 - 0x4009e000
D (918) memory_layout: Available memory region 0x4009c000 - 0x4009e000
V (924) memory_layout: Examining memory region 0x4009e000 - 0x400a0000
D (931) memory_layout: Available memory region 0x4009e000 - 0x400a0000
I (938) heap_init: Initializing. RAM available for dynamic allocation:
D (945) heap_init: New heap initialised at 0x3ffae6e0
I (950) heap_init: At 3FFAE6E0 len 00001920 (6 KiB): DRAM
D (956) heap_init: New heap initialised at 0x3ffb3350
I (961) heap_init: At 3FFB3350 len 0002CCB0 (179 KiB): DRAM
I (967) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM
I (974) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
D (980) heap_init: New heap initialised at 0x40088048
I (985) heap_init: At 40088048 len 00017FB8 (95 KiB): IRAM
I (991) cpu_start: Pro cpu start user code
D (1003) clk: RTC_SLOW_CLK calibration value: 3192422
V (6) intr_alloc: esp_intr_alloc_intrstatus (cpu 0): checking args
V (6) intr_alloc: esp_intr_alloc_intrstatus (cpu 0): Args okay. Resulting flags 0xE
D (11) intr_alloc: Connected src 46 to int 2 (cpu 0)
V (17) intr_alloc: esp_intr_alloc_intrstatus (cpu 0): checking args
V (22) intr_alloc: esp_intr_alloc_intrstatus (cpu 0): Args okay. Resulting flags 0xC0E
D (30) intr_alloc: Connected src 57 to int 3 (cpu 0)
V (35) esp_dbg_stubs: esp_dbg_stubs_init stubs 3ffb28bc
V (41) intr_alloc: esp_intr_alloc_intrstatus (cpu 0): checking args
V (47) intr_alloc: esp_intr_alloc_intrstatus (cpu 0): Args okay. Resulting flags 0x40E
D (55) intr_alloc: Connected src 24 to int 9 (cpu 0)
I (60) cpu_start: Starting scheduler on PRO CPU.
V (0) intr_alloc: esp_intr_alloc_intrstatus (cpu 1): checking args
V (0) intr_alloc: esp_intr_alloc_intrstatus (cpu 1): Args okay. Resulting flags 0x40E
D (10) intr_alloc: Connected src 25 to int 2 (cpu 1)
I (10) cpu_start: Starting scheduler on APP CPU.
D (110) heap_init: New heap initialised at 0x3ffe0440
D (110) heap_init: New heap initialised at 0x3ffe4350
V (120) intr_alloc: esp_intr_alloc_intrstatus (cpu 0): checking args
V (120) intr_alloc: esp_intr_alloc_intrstatus (cpu 0): Args okay. Resulting flags 0xE
D (120) intr_alloc: Connected src 16 to int 12 (cpu 0)
D (140) sdmmc_periph: peripheral version 5342270a, hardware config 03c44c83
V (150) intr_alloc: esp_intr_alloc_intrstatus (cpu 0): checking args
V (150) intr_alloc: esp_intr_alloc_intrstatus (cpu 0): Args okay. Resulting flags 0xE
D (160) intr_alloc: Connected src 37 to int 13 (cpu 0)
I (170) gpio: GPIO[13]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0 
D (180) sdmmc_periph: slot=1 host_div=10 card_div=20 freq=400kHz
D (180) sdmmc_periph: slot=1 width=1
V (180) sdmmc_cmd: sending cmd slot=1 op=52 arg=80000c08 flags=1c00 data=0x0 blklen=0 datalen=0 timeout=1000
V (190) sdmmc_req: make_hw_cmd: opcode=52, rexp=1, crc=1, auto_stop=0
V (200) sdmmc_req: sdmmc_handle_event: event 00000100 00000000, unhandled 00000000 00000000
V (210) sdmmc_req: process_events: state=SENDING_CMD evt=100 dma=0
D (220) sdmmc_req: process_command_response: error 0x107  (status=00000100)
V (220) sdmmc_req: process_events state=SENDING_CMD next_state=SENDING_CMD
V (230) sdmmc_req: sdmmc_handle_event: events unhandled: 00000000 00000000
V (240) sdmmc_req: sdmmc_handle_event: event 00000004 00000000, unhandled 00000000 00000000
V (250) sdmmc_req: process_events: state=SENDING_CMD evt=4 dma=0
V (250) sdmmc_req: process_events state=SENDING_CMD next_state=IDLE
V (260) sdmmc_req: process_events state=IDLE next_state=IDLE
V (260) sdmmc_req: sdmmc_handle_event: events unhandled: 00000000 00000000
V (270) sdmmc_cmd: cmd response 00000000 00000000 00000000 00000000 err=0x107 state=0
V (280) sdmmc_io: sdmmc_io_rw_direct: sdmmc_send_cmd returned 0x107
V (280) sdmmc_cmd: sending cmd slot=1 op=0 arg=0 flags=20 data=0x0 blklen=0 datalen=0 timeout=1000
V (290) sdmmc_req: make_hw_cmd: opcode=0, rexp=0, crc=0, auto_stop=0
V (300) sdmmc_req: sdmmc_handle_event: event 00000004 00000000, unhandled 00000000 00000000
V (310) sdmmc_req: process_events: state=SENDING_CMD evt=4 dma=0
V (310) sdmmc_req: process_events state=SENDING_CMD next_state=IDLE
V (320) sdmmc_req: process_events state=IDLE next_state=IDLE
V (330) sdmmc_req: sdmmc_handle_event: events unhandled: 00000000 00000000
V (330) sdmmc_cmd: cmd response 00000000 00000000 00000000 00000000 err=0x0 state=0
V (360) sdmmc_cmd: sending cmd slot=1 op=8 arg=1aa flags=1c30 data=0x0 blklen=0 datalen=0 timeout=1000
V (360) sdmmc_req: make_hw_cmd: opcode=8, rexp=1, crc=1, auto_stop=0
V (360) sdmmc_req: sdmmc_handle_event: event 00000100 00000000, unhandled 00000000 00000000
V (370) sdmmc_req: process_events: state=SENDING_CMD evt=100 dma=0
D (370) sdmmc_req: process_command_response: error 0x107  (status=00000100)
V (380) sdmmc_req: process_events state=SENDING_CMD next_state=SENDING_CMD
V (390) sdmmc_req: sdmmc_handle_event: events unhandled: 00000000 00000000
V (400) sdmmc_req: sdmmc_handle_event: event 00000004 00000000, unhandled 00000000 00000000
V (400) sdmmc_req: process_events: state=SENDING_CMD evt=4 dma=0
V (410) sdmmc_req: process_events state=SENDING_CMD next_state=IDLE
V (420) sdmmc_req: process_events state=IDLE next_state=IDLE
V (420) sdmmc_req: sdmmc_handle_event: events unhandled: 00000000 00000000
V (430) sdmmc_cmd: cmd response 00000000 00000000 00000000 00000000 err=0x107 state=0
D (440) sdmmc_sd: CMD8 timeout; not an SD v2.00 card
V (440) sdmmc_cmd: sending cmd slot=1 op=5 arg=0 flags=1030 data=0x0 blklen=0 datalen=0 timeout=1000
V (450) sdmmc_req: make_hw_cmd: opcode=5, rexp=1, crc=0, auto_stop=0
V (460) sdmmc_req: sdmmc_handle_event: event 00000100 00000000, unhandled 00000000 00000000
V (470) sdmmc_req: process_events: state=SENDING_CMD evt=100 dma=0
D (470) sdmmc_req: process_command_response: error 0x107  (status=00000100)
V (480) sdmmc_req: process_events state=SENDING_CMD next_state=SENDING_CMD
V (490) sdmmc_req: sdmmc_handle_event: events unhandled: 00000000 00000000
V (490) sdmmc_req: sdmmc_handle_event: event 00000004 00000000, unhandled 00000000 00000000
V (500) sdmmc_req: process_events: state=SENDING_CMD evt=4 dma=0
V (510) sdmmc_req: process_events state=SENDING_CMD next_state=IDLE
V (510) sdmmc_req: process_events state=IDLE next_state=IDLE
V (520) sdmmc_req: sdmmc_handle_event: events unhandled: 00000000 00000000
V (530) sdmmc_cmd: cmd response 00000000 00000000 00000000 00000000 err=0x107 state=0
D (530) sdmmc_io: sdmmc_init_io: io_send_op_cond (1) returned 0x107; not IO card
V (540) sdmmc_cmd: sending cmd slot=1 op=55 arg=0 flags=1c00 data=0x0 blklen=0 datalen=0 timeout=1000
V (550) sdmmc_req: make_hw_cmd: opcode=55, rexp=1, crc=1, auto_stop=0
V (560) sdmmc_req: sdmmc_handle_event: event 00000100 00000000, unhandled 00000000 00000000
V (570) sdmmc_req: process_events: state=SENDING_CMD evt=100 dma=0
D (570) sdmmc_req: process_command_response: error 0x107  (status=00000100)
V (580) sdmmc_req: process_events state=SENDING_CMD next_state=SENDING_CMD
V (590) sdmmc_req: sdmmc_handle_event: events unhandled: 00000000 00000000
V (590) sdmmc_req: sdmmc_handle_event: event 00000004 00000000, unhandled 00000000 00000000
V (600) sdmmc_req: process_events: state=SENDING_CMD evt=4 dma=0
V (610) sdmmc_req: process_events state=SENDING_CMD next_state=IDLE
V (610) sdmmc_req: process_events state=IDLE next_state=IDLE
V (620) sdmmc_req: sdmmc_handle_event: events unhandled: 00000000 00000000
V (630) sdmmc_cmd: cmd response 00000000 00000000 00000000 00000000 err=0x107 state=0
V (630) sdmmc_cmd: sdmmc_send_cmd_send_op_cond: ignoring err=0x107
V (640) sdmmc_cmd: sending cmd slot=1 op=55 arg=0 flags=1c00 data=0x0 blklen=0 datalen=0 timeout=1000
V (650) sdmmc_req: make_hw_cmd: opcode=55, rexp=1, crc=1, auto_stop=0
V (660) sdmmc_req: sdmmc_handle_event: event 00000100 00000000, unhandled 00000000 00000000
V (670) sdmmc_req: process_events: state=SENDING_CMD evt=100 dma=0
D (670) sdmmc_req: process_command_response: error 0x107  (status=00000100)
V (680) sdmmc_req: process_events state=SENDING_CMD next_state=SENDING_CMD
V (690) sdmmc_req: sdmmc_handle_event: events unhandled: 00000000 00000000
V (690) sdmmc_req: sdmmc_handle_event: event 00000004 00000000, unhandled 00000000 00000000
V (700) sdmmc_req: process_events: state=SENDING_CMD evt=4 dma=0
V (710) sdmmc_req: process_events state=SENDING_CMD next_state=IDLE
V (710) sdmmc_req: process_events state=IDLE next_state=IDLE
V (720) sdmmc_req: sdmmc_handle_event: events unhandled: 00000000 00000000
V (730) sdmmc_cmd: cmd response 00000000 00000000 00000000 00000000 err=0x107 state=0
V (730) sdmmc_cmd: sdmmc_send_cmd_send_op_cond: ignoring err=0x107
V (740) sdmmc_cmd: sending cmd slot=1 op=55 arg=0 flags=1c00 data=0x0 blklen=0 datalen=0 timeout=1000
V (750) sdmmc_req: make_hw_cmd: opcode=55, rexp=1, crc=1, auto_stop=0
V (760) sdmmc_req: sdmmc_handle_event: event 00000100 00000000, unhandled 00000000 00000000
V (760) sdmmc_req: process_events: state=SENDING_CMD evt=100 dma=0
D (770) sdmmc_req: process_command_response: error 0x107  (status=00000100)
V (780) sdmmc_req: process_events state=SENDING_CMD next_state=SENDING_CMD
V (780) sdmmc_req: sdmmc_handle_event: events unhandled: 00000000 00000000
V (790) sdmmc_req: sdmmc_handle_event: event 00000004 00000000, unhandled 00000000 00000000
V (800) sdmmc_req: process_events: state=SENDING_CMD evt=4 dma=0
V (810) sdmmc_req: process_events state=SENDING_CMD next_state=IDLE
V (810) sdmmc_req: process_events state=IDLE next_state=IDLE
V (820) sdmmc_req: sdmmc_handle_event: events unhandled: 00000000 00000000
V (820) sdmmc_cmd: cmd response 00000000 00000000 00000000 00000000 err=0x107 state=0
D (830) sdmmc_cmd: sdmmc_send_cmd_send_op_cond: sdmmc_send_app_cmd err=0x107
D (840) sdmmc_common: send_op_cond timeout, trying MMC
V (850) sdmmc_cmd: sending cmd slot=1 op=1 arg=40ff8000 flags=1030 data=0x0 blklen=0 datalen=0 timeout=1000
V (850) sdmmc_req: make_hw_cmd: opcode=1, rexp=1, crc=0, auto_stop=0
V (860) sdmmc_req: sdmmc_handle_event: event 00000004 00000000, unhandled 00000000 00000000
V (870) sdmmc_req: process_events: state=SENDING_CMD evt=4 dma=0
V (880) sdmmc_req: process_events state=SENDING_CMD next_state=IDLE
V (880) sdmmc_req: process_events state=IDLE next_state=IDLE
V (890) sdmmc_req: sdmmc_handle_event: events unhandled: 00000000 00000000
V (890) sdmmc_cmd: cmd response 40ff8080 00000000 00000000 00000000 err=0x0 state=0
V (910) sdmmc_cmd: sending cmd slot=1 op=1 arg=40ff8000 flags=1030 data=0x0 blklen=0 datalen=0 timeout=1000
V (910) sdmmc_req: make_hw_cmd: opcode=1, rexp=1, crc=0, auto_stop=0
V (920) sdmmc_req: sdmmc_handle_event: event 00000004 00000000, unhandled 00000000 00000000
V (930) sdmmc_req: process_events: state=SENDING_CMD evt=4 dma=0
V (930) sdmmc_req: process_events state=SENDING_CMD next_state=IDLE
V (940) sdmmc_req: process_events state=IDLE next_state=IDLE
V (950) sdmmc_req: sdmmc_handle_event: events unhandled: 00000000 00000000
V (950) sdmmc_cmd: cmd response c0ff8080 00000000 00000000 00000000 err=0x0 state=0
D (960) sdmmc_common: host_ocr=0xff8000 card_ocr=0xc0ff8080
D (970) sdmmc_common: sdmmc_card_init: host_ocr=00ff8000, card_ocr=c0ff8080
D (970) sdmmc_init: sdmmc_card_init: card type is MMC
V (980) sdmmc_cmd: sending cmd slot=1 op=2 arg=0 flags=1630 data=0x0 blklen=0 datalen=0 timeout=1000
V (990) sdmmc_req: make_hw_cmd: opcode=2, rexp=1, crc=1, auto_stop=0
V (990) sdmmc_req: sdmmc_handle_event: event 00000004 00000000, unhandled 00000000 00000000
V (1000) sdmmc_req: process_events: state=SENDING_CMD evt=4 dma=0
V (1010) sdmmc_req: process_events state=SENDING_CMD next_state=IDLE
V (1010) sdmmc_req: process_events state=IDLE next_state=IDLE
V (1020) sdmmc_req: sdmmc_handle_event: events unhandled: 00000000 00000000
V (1030) sdmmc_cmd: cmd response b83a943f 5200443d 57504433 15010038 err=0x0 state=10
V (1040) sdmmc_cmd: sending cmd slot=1 op=3 arg=10000 flags=1c30 data=0x0 blklen=0 datalen=0 timeout=1000
V (1040) sdmmc_req: make_hw_cmd: opcode=3, rexp=1, crc=1, auto_stop=0
V (1050) sdmmc_req: sdmmc_handle_event: event 00000004 00000000, unhandled 00000000 00000000
V (1060) sdmmc_req: process_events: state=SENDING_CMD evt=4 dma=0
V (1070) sdmmc_req: process_events state=SENDING_CMD next_state=IDLE
V (1070) sdmmc_req: process_events state=IDLE next_state=IDLE
V (1080) sdmmc_req: sdmmc_handle_event: events unhandled: 00000000 00000000
V (1090) sdmmc_cmd: cmd response 00400500 00000000 00000000 00000000 err=0x0 state=2
V (1090) sdmmc_cmd: sending cmd slot=1 op=9 arg=10000 flags=1600 data=0x0 blklen=0 datalen=0 timeout=1000
V (1100) sdmmc_req: make_hw_cmd: opcode=9, rexp=1, crc=1, auto_stop=0
V (1110) sdmmc_req: sdmmc_handle_event: event 00000004 00000000, unhandled 00000000 00000000
V (1120) sdmmc_req: process_events: state=SENDING_CMD evt=4 dma=0
V (1120) sdmmc_req: process_events state=SENDING_CMD next_state=IDLE
V (1130) sdmmc_req: process_events state=IDLE next_state=IDLE
V (1140) sdmmc_req: sdmmc_handle_event: events unhandled: 00000000 00000000
V (1140) sdmmc_cmd: cmd response 8e40400d f6dbffef 0f5903ff d0270132 err=0x0 state=0
V (1150) sdmmc_cmd: sending cmd slot=1 op=9 arg=10000 flags=1600 data=0x0 blklen=0 datalen=0 timeout=1000
V (1160) sdmmc_req: make_hw_cmd: opcode=9, rexp=1, crc=1, auto_stop=0
V (1170) sdmmc_req: sdmmc_handle_event: event 00000004 00000000, unhandled 00000000 00000000
V (1180) sdmmc_req: process_events: state=SENDING_CMD evt=4 dma=0
V (1180) sdmmc_req: process_events state=SENDING_CMD next_state=IDLE
V (1190) sdmmc_req: process_events state=IDLE next_state=IDLE
V (1190) sdmmc_req: sdmmc_handle_event: events unhandled: 00000000 00000000
V (1200) sdmmc_cmd: cmd response 8e40400d f6dbffef 0f5903ff d0270132 err=0x0 state=0
V (1210) sdmmc_cmd: sending cmd slot=1 op=7 arg=10000 flags=1c00 data=0x0 blklen=0 datalen=0 timeout=1000
V (1220) sdmmc_req: make_hw_cmd: opcode=7, rexp=1, crc=1, auto_stop=0
V (1230) sdmmc_req: sdmmc_handle_event: event 00000004 00000000, unhandled 00000000 00000000
V (1230) sdmmc_req: process_events: state=SENDING_CMD evt=4 dma=0
V (1240) sdmmc_req: process_events state=SENDING_CMD next_state=IDLE
V (1250) sdmmc_req: process_events state=IDLE next_state=IDLE
V (1250) sdmmc_req: sdmmc_handle_event: events unhandled: 00000000 00000000
V (1260) sdmmc_cmd: cmd response 00000700 00000000 00000000 00000000 err=0x0 state=3
D (1270) sdmmc_mmc: MMC version: 4
V (1270) sdmmc_cmd: sending cmd slot=1 op=8 arg=0 flags=1c50 data=0x3ffb3e44 blklen=512 datalen=512 timeout=1000
V (1280) sdmmc_req: make_hw_cmd: opcode=8, rexp=1, crc=1, auto_stop=0
V (1290) sdmmc_req: fill 4 desc=0 rem=0 next=1 last=1 sz=512
V (1290) sdmmc_req: sdmmc_handle_event: event 00000004 00000000, unhandled 00000000 00000000
V (1300) sdmmc_req: process_events: state=SENDING_CMD evt=4 dma=0
V (1310) sdmmc_req: process_events state=SENDING_CMD next_state=SENDIND_DATA
V (1310) sdmmc_req: process_events state=SENDIND_DATA next_state=SENDIND_DATA
V (1320) sdmmc_req: sdmmc_handle_event: events unhandled: 00000000 00000000
V (1330) sdmmc_req: sdmmc_handle_event: event 00000008 00000002, unhandled 00000000 00000000
V (1340) sdmmc_req: process_events: state=SENDIND_DATA evt=8 dma=2
V (1340) sdmmc_req: process_events state=SENDIND_DATA next_state=IDLE
V (1350) sdmmc_req: process_events state=IDLE next_state=IDLE
V (1360) sdmmc_req: sdmmc_handle_event: events unhandled: 00000008 00000000
V (1360) sdmmc_cmd: cmd response 00000900 00000000 00000000 00000000 err=0x0 state=4
D (1370) sdmmc_mmc: card and host support DDR mode
D (1380) sdmmc_mmc: MMC card type 87, max_freq_khz=52000, is_ddr=1
V (1380) sdmmc_cmd: sending cmd slot=1 op=6 arg=3b90101 flags=3d00 data=0x0 blklen=0 datalen=0 timeout=1000
V (1390) sdmmc_req: make_hw_cmd: opcode=6, rexp=1, crc=1, auto_stop=0
V (1400) sdmmc_req: sdmmc_handle_event: event 00000004 00000000, unhandled 00000000 00000000
V (1410) sdmmc_req: process_events: state=SENDING_CMD evt=4 dma=0
V (1410) sdmmc_req: process_events state=SENDING_CMD next_state=IDLE
V (1420) sdmmc_req: process_events state=IDLE next_state=IDLE
V (1430) sdmmc_req: sdmmc_handle_event: events unhandled: 00000000 00000000
V (1430) sdmmc_cmd: cmd response 00000900 00000000 00000000 00000000 err=0x0 state=4
V (1440) sdmmc_cmd: sending cmd slot=1 op=6 arg=3b70501 flags=3d00 data=0x0 blklen=0 datalen=0 timeout=1000
V (1450) sdmmc_req: make_hw_cmd: opcode=6, rexp=1, crc=1, auto_stop=0
V (1460) sdmmc_req: sdmmc_handle_event: event 00000004 00000000, unhandled 00000000 00000000
V (1460) sdmmc_req: process_events: state=SENDING_CMD evt=4 dma=0
V (1470) sdmmc_req: process_events state=SENDING_CMD next_state=IDLE
V (1480) sdmmc_req: process_events state=IDLE next_state=IDLE
V (1480) sdmmc_req: sdmmc_handle_event: events unhandled: 00000000 00000000
V (1490) sdmmc_cmd: cmd response 00000900 00000000 00000000 00000000 err=0x0 state=4
D (1500) sdmmc_common: sdmmc_init_host_bus_width: using 4-bit bus
D (1500) sdmmc_periph: slot=1 width=4
D (1510) sdmmc_common: sdmmc_init_host_frequency: using 40000 kHz bus frequency
D (1520) sdmmc_periph: slot=1 host_div=4 card_div=0 freq=40000kHz
D (1520) sdmmc_periph: slot=1 ddr=1
Name: 8WPD3R
Type: MMC
Speed: 40 MHz, DDR
Size: 7456MB
CSD: ver=3, sector_size=512, capacity=15269888 read_bl_len=9
V (1540) sdmmc_cmd: sending cmd slot=1 op=24 arg=3e8 flags=1c10 data=0x3ffb10b4 blklen=512 datalen=512 timeout=5000
V (1550) sdmmc_req: make_hw_cmd: opcode=24, rexp=1, crc=1, auto_stop=0
V (1550) sdmmc_req: fill 4 desc=0 rem=0 next=1 last=1 sz=512
V (1560) sdmmc_req: sdmmc_handle_event: event 00000004 00000001, unhandled 00000000 00000000
V (1570) sdmmc_req: process_events: state=SENDING_CMD evt=4 dma=1
V (1570) sdmmc_req: process_events state=SENDING_CMD next_state=SENDIND_DATA
V (1580) sdmmc_req: process_events state=SENDIND_DATA next_state=BUSY
V (1590) sdmmc_req: process_events state=BUSY next_state=BUSY
V (1590) sdmmc_req: sdmmc_handle_event: events unhandled: 00000000 00000000
V (1600) sdmmc_req: sdmmc_handle_event: event 00000008 00000000, unhandled 00000000 00000000
V (1610) sdmmc_req: process_events: state=BUSY evt=8 dma=0
V (1610) sdmmc_req: process_events state=BUSY next_state=IDLE
V (1620) sdmmc_req: process_events state=IDLE next_state=IDLE
V (1630) sdmmc_req: sdmmc_handle_event: events unhandled: 00000000 00000000
V (1630) sdmmc_cmd: cmd response 00000900 00000000 00000000 00000000 err=0x0 state=4
V (1640) sdmmc_cmd: sending cmd slot=1 op=13 arg=10000 flags=1c00 data=0x0 blklen=0 datalen=0 timeout=1000
V (1650) sdmmc_req: make_hw_cmd: opcode=13, rexp=1, crc=1, auto_stop=0
V (1660) sdmmc_req: sdmmc_handle_event: event 00000004 00000000, unhandled 00000000 00000000
V (1660) sdmmc_req: process_events: state=SENDING_CMD evt=4 dma=0
V (1670) sdmmc_req: process_events state=SENDING_CMD next_state=IDLE
V (1680) sdmmc_req: process_events state=IDLE next_state=IDLE
V (1680) sdmmc_req: sdmmc_handle_event: events unhandled: 00000000 00000000
V (1690) sdmmc_cmd: cmd response 00000900 00000000 00000000 00000000 err=0x0 state=4
V (1700) sdmmc_cmd: sending cmd slot=1 op=17 arg=3e8 flags=1c50 data=0x3ffb2e04 blklen=512 datalen=512 timeout=1000
V (1710) sdmmc_req: make_hw_cmd: opcode=17, rexp=1, crc=1, auto_stop=0
V (1720) sdmmc_req: fill 4 desc=0 rem=0 next=1 last=1 sz=512
V (1720) sdmmc_req: sdmmc_handle_event: event 00000004 00000000, unhandled 00000000 00000000
V (1730) sdmmc_req: process_events: state=SENDING_CMD evt=4 dma=0
V (1740) sdmmc_req: process_events state=SENDING_CMD next_state=SENDIND_DATA
V (1740) sdmmc_req: process_events state=SENDIND_DATA next_state=SENDIND_DATA
V (1750) sdmmc_req: sdmmc_handle_event: events unhandled: 00000000 00000000
V (1760) sdmmc_req: sdmmc_handle_event: event 00000008 00000002, unhandled 00000000 00000000
V (1770) sdmmc_req: process_events: state=SENDIND_DATA evt=8 dma=2
V (1770) sdmmc_req: process_events state=SENDIND_DATA next_state=IDLE
V (1780) sdmmc_req: process_events state=IDLE next_state=IDLE
V (1780) sdmmc_req: sdmmc_handle_event: events unhandled: 00000008 00000000
V (1790) sdmmc_cmd: cmd response 00000900 00000000 00000000 00000000 err=0x0 state=4
V (1800) sdmmc_cmd: sending cmd slot=1 op=13 arg=10000 flags=1c00 data=0x0 blklen=0 datalen=0 timeout=1000
V (1810) sdmmc_req: make_hw_cmd: opcode=13, rexp=1, crc=1, auto_stop=0
V (1820) sdmmc_req: sdmmc_handle_event: event 00000004 00000000, unhandled 00000000 00000000
V (1820) sdmmc_req: process_events: state=SENDING_CMD evt=4 dma=0
V (1830) sdmmc_req: process_events state=SENDING_CMD next_state=IDLE
V (1840) sdmmc_req: process_events state=IDLE next_state=IDLE
V (1840) sdmmc_req: sdmmc_handle_event: events unhandled: 00000000 00000000
V (1850) sdmmc_cmd: cmd response 00000900 00000000 00000000 00000000 err=0x0 state=4
I (1860) sd_tests: read 13
here is the DEBUG output with an SD card in the slot, it returns the correct value.

Code: Select all

rst:0x1 (POWERON_RESET),boot:0x3f (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0018,len:4
load:0x3fff001c,len:6352
ho 0 tail 12 room 4
load:0x40078000,len:11308
load:0x40080400,len:6680
entry 0x40080760
I (31) boot: ESP-IDF v3.3-beta2-53-g79ca95ddf-dirty 2nd stage bootloader
I (31) boot: compile time 09:51:53
I (32) boot: Enabling RNG early entropy source...
I (37) boot: SPI Speed      : 40MHz
I (42) boot: SPI Mode       : DIO
I (46) boot: SPI Flash Size : 4MB
I (50) boot: Partition Table:
I (53) boot: ## Label            Usage          Type ST Offset   Length
I (60) boot:  0 nvs              WiFi data        01 02 00009000 00006000
I (68) boot:  1 phy_init         RF data          01 01 0000f000 00001000
I (75) boot:  2 factory          factory app      00 00 00010000 00100000
I (83) boot: End of partition table
I (87) esp_image: segment 0: paddr=0x00010020 vaddr=0x3f400020 size=0x0c098 ( 49304) map
I (113) esp_image: segment 1: paddr=0x0001c0c0 vaddr=0x3ffb0000 size=0x020ac (  8364) load
I (117) esp_image: segment 2: paddr=0x0001e174 vaddr=0x40080000 size=0x00400 (  1024) load
0x40080000: _WindowOverflow4 at /Users/andymarch/esp/esp-idf/components/freertos/xtensa_vectors.S:1779

I (120) esp_image: segment 3: paddr=0x0001e57c vaddr=0x40080400 size=0x01a94 (  6804) load
I (132) esp_image: segment 4: paddr=0x00020018 vaddr=0x400d0018 size=0x17098 ( 94360) map
0x400d0018: _flash_cache_start at ??:?

I (171) esp_image: segment 5: paddr=0x000370b8 vaddr=0x40081e94 size=0x061ac ( 25004) load
0x40081e94: _xt_user_exit at /Users/andymarch/esp/esp-idf/components/freertos/xtensa_vectors.S:790

I (187) boot: Loaded app from partition at offset 0x10000
I (187) boot: Disabling RNG early entropy source...
I (187) cpu_start: Pro cpu up.
I (191) cpu_start: Application information:
I (196) cpu_start: Project name:     sd_tests
I (201) cpu_start: App version:      d7f4893-dirty
I (206) cpu_start: Compile time:     Apr  5 2019 09:51:58
I (212) cpu_start: ELF file SHA256:  b13cb87daa600bfb...
I (218) cpu_start: ESP-IDF:          v3.3-beta2-53-g79ca95ddf-dirty
I (225) cpu_start: Starting app cpu, entry point is 0x40080e64
0x40080e64: call_start_cpu1 at /Users/andymarch/esp/esp-idf/components/esp32/cpu_start.c:267

I (0) cpu_start: App cpu up.
D (235) memory_layout: Checking 7 reserved memory ranges:
D (241) memory_layout: Reserved memory range 0x3ffae000 - 0x3ffae6e0
D (247) memory_layout: Reserved memory range 0x3ffb0000 - 0x3ffb3350
D (254) memory_layout: Reserved memory range 0x3ffe0000 - 0x3ffe0440
D (260) memory_layout: Reserved memory range 0x3ffe3f20 - 0x3ffe4350
D (266) memory_layout: Reserved memory range 0x40070000 - 0x40078000
D (273) memory_layout: Reserved memory range 0x40078000 - 0x40080000
0x40080000: _WindowOverflow4 at /Users/andymarch/esp/esp-idf/components/freertos/xtensa_vectors.S:1779

D (279) memory_layout: Reserved memory range 0x40080000 - 0x4008803f
0x40080000: _WindowOverflow4 at /Users/andymarch/esp/esp-idf/components/freertos/xtensa_vectors.S:1779

D (286) memory_layout: Building list of available memory regions:
D (292) memory_layout: Available memory region 0x3ffae6e0 - 0x3ffb0000
D (298) memory_layout: Available memory region 0x3ffb3350 - 0x3ffb8000
D (305) memory_layout: Available memory region 0x3ffb8000 - 0x3ffc0000
D (312) memory_layout: Available memory region 0x3ffc0000 - 0x3ffc2000
D (318) memory_layout: Available memory region 0x3ffc2000 - 0x3ffc4000
D (325) memory_layout: Available memory region 0x3ffc4000 - 0x3ffc6000
D (331) memory_layout: Available memory region 0x3ffc6000 - 0x3ffc8000
D (338) memory_layout: Available memory region 0x3ffc8000 - 0x3ffca000
D (345) memory_layout: Available memory region 0x3ffca000 - 0x3ffcc000
D (351) memory_layout: Available memory region 0x3ffcc000 - 0x3ffce000
D (358) memory_layout: Available memory region 0x3ffce000 - 0x3ffd0000
D (364) memory_layout: Available memory region 0x3ffd0000 - 0x3ffd2000
D (371) memory_layout: Available memory region 0x3ffd2000 - 0x3ffd4000
D (378) memory_layout: Available memory region 0x3ffd4000 - 0x3ffd6000
D (384) memory_layout: Available memory region 0x3ffd6000 - 0x3ffd8000
D (391) memory_layout: Available memory region 0x3ffd8000 - 0x3ffda000
D (397) memory_layout: Available memory region 0x3ffda000 - 0x3ffdc000
D (404) memory_layout: Available memory region 0x3ffdc000 - 0x3ffde000
D (411) memory_layout: Available memory region 0x3ffde000 - 0x3ffe0000
D (417) memory_layout: Available memory region 0x3ffe0440 - 0x3ffe3f20
D (424) memory_layout: Available memory region 0x3ffe4350 - 0x3ffe8000
D (430) memory_layout: Available memory region 0x3ffe8000 - 0x3fff0000
D (437) memory_layout: Available memory region 0x3fff0000 - 0x3fff8000
D (444) memory_layout: Available memory region 0x3fff8000 - 0x3fffc000
D (450) memory_layout: Available memory region 0x3fffc000 - 0x40000000
D (457) memory_layout: Available memory region 0x40088040 - 0x4008a000
D (463) memory_layout: Available memory region 0x4008a000 - 0x4008c000
D (470) memory_layout: Available memory region 0x4008c000 - 0x4008e000
D (477) memory_layout: Available memory region 0x4008e000 - 0x40090000
D (483) memory_layout: Available memory region 0x40090000 - 0x40092000
D (490) memory_layout: Available memory region 0x40092000 - 0x40094000
D (496) memory_layout: Available memory region 0x40094000 - 0x40096000
D (503) memory_layout: Available memory region 0x40096000 - 0x40098000
D (509) memory_layout: Available memory region 0x40098000 - 0x4009a000
D (516) memory_layout: Available memory region 0x4009a000 - 0x4009c000
D (523) memory_layout: Available memory region 0x4009c000 - 0x4009e000
D (529) memory_layout: Available memory region 0x4009e000 - 0x400a0000
I (536) heap_init: Initializing. RAM available for dynamic allocation:
D (543) heap_init: New heap initialised at 0x3ffae6e0
I (548) heap_init: At 3FFAE6E0 len 00001920 (6 KiB): DRAM
D (554) heap_init: New heap initialised at 0x3ffb3350
I (559) heap_init: At 3FFB3350 len 0002CCB0 (179 KiB): DRAM
I (566) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM
I (572) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
D (578) heap_init: New heap initialised at 0x40088040
I (584) heap_init: At 40088040 len 00017FC0 (95 KiB): IRAM
I (590) cpu_start: Pro cpu start user code
D (602) clk: RTC_SLOW_CLK calibration value: 3176102
D (276) intr_alloc: Connected src 46 to int 2 (cpu 0)
D (276) intr_alloc: Connected src 57 to int 3 (cpu 0)
D (277) intr_alloc: Connected src 24 to int 9 (cpu 0)
I (282) cpu_start: Starting scheduler on PRO CPU.
D (0) intr_alloc: Connected src 25 to int 2 (cpu 1)
I (0) cpu_start: Starting scheduler on APP CPU.
D (297) heap_init: New heap initialised at 0x3ffe0440
D (307) heap_init: New heap initialised at 0x3ffe4350
D (317) intr_alloc: Connected src 16 to int 12 (cpu 0)
D (317) sdmmc_periph: peripheral version 5342270a, hardware config 03c44c83
D (327) intr_alloc: Connected src 37 to int 13 (cpu 0)
I (327) gpio: GPIO[13]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0 
D (337) sdmmc_periph: slot=1 host_div=10 card_div=20 freq=400kHz
D (347) sdmmc_periph: slot=1 width=1
D (347) sdmmc_req: process_command_response: error 0x107  (status=00000100)
D (377) sdmmc_sd: SDHC/SDXC card
D (377) sdmmc_req: process_command_response: error 0x107  (status=00000100)
D (377) sdmmc_io: sdmmc_init_io: io_send_op_cond (1) returned 0x107; not IO card
D (567) sdmmc_common: host_ocr=0x40ff8000 card_ocr=0xc0ff8000
D (567) sdmmc_common: sdmmc_card_init: host_ocr=40ff8000, card_ocr=c0ff8000
D (567) sdmmc_init: sdmmc_card_init: card type is SD
D (587) sdmmc_common: sdmmc_init_host_bus_width: using 4-bit bus
D (587) sdmmc_periph: slot=1 width=4
D (587) sdmmc_common: sdmmc_init_host_frequency: using 40000 kHz bus frequency
D (587) sdmmc_periph: slot=1 host_div=4 card_div=0 freq=40000kHz
Name: SS08G
Type: SDHC/SDXC
Speed: 40 MHz
Size: 7580MB
I (607) sd_tests: read 9

Thank you for your help!

Who is online

Users browsing this forum: Baidu [Spider] and 55 guests