Search found 15 matches

by jens.alfke
Thu Dec 17, 2020 1:56 am
Forum: Documentation
Topic: ESP32 instruction set or assembly (ASM) programming docs?
Replies: 12
Views: 3912

Re: ESP32 instruction set or assembly (ASM) programming docs?

in my experience not having publicly-available documents seem to mostly affect those hobbyists and very few professionals. There's a large middle ground between "professional" and "hobbyist", and a lot of important software is developed by people in that middle ground. An NDA requirement is a prett...
by jens.alfke
Wed Sep 30, 2020 10:44 pm
Forum: Documentation
Topic: ESP32 instruction set or assembly (ASM) programming docs?
Replies: 12
Views: 3912

Re: ESP32 instruction set or assembly (ASM) programming docs?

You could write it in C, once it works save assembly code, edit, assmble it, make sure it still works I haven't looked — is there actually an assembler/disassembler in the toolchain? Of course, trying to learn a completely new instruction set by reading disassembly is not my idea of fun, or even my...
by jens.alfke
Tue Sep 29, 2020 5:16 pm
Forum: Documentation
Topic: ESP32 instruction set or assembly (ASM) programming docs?
Replies: 12
Views: 3912

ESP32 instruction set or assembly (ASM) programming docs?

I'm looking for documentation of the ESP32 instruction set, for assembly language programming. I've found some old (2010) Xtensa ISA docs, but their designs are so configurable that it's not much use for a specific CPU. I've seen two threads from a few years ago asking about this, and replies from E...
by jens.alfke
Fri Jul 06, 2018 11:05 pm
Forum: General Discussion
Topic: Any way to strip C/C++ locale stuff out of the binary?
Replies: 4
Views: 2422

Any way to strip C/C++ locale stuff out of the binary?

When I run "make size-files" (with CONFIG_OPTIMIZATION_LEVEL_RELEASE) I see that a lot of the top contributors to the binary size are related to C/C++ locale handling: Per-file contributions to ELF file: Object File DRAM .data & .bss IRAM Flash code & rodata Total ... locale-inst.o 0 144 0 25655 723...
by jens.alfke
Fri Jun 29, 2018 9:14 pm
Forum: General Discussion
Topic: Can I view other tasks in gdb?
Replies: 1
Views: 1262

Re: Can I view other tasks in gdb?

Of course, right after asking I found a (partial) answer. I can configure the program to log a core-dump when it crashes, and then read that dump into gdb. Then I can use the `info thread` and `thread` commands to view and switch to different threads/tasks. It even shows what the parameters and loca...
by jens.alfke
Fri Jun 29, 2018 8:43 pm
Forum: General Discussion
Topic: Can I view other tasks in gdb?
Replies: 1
Views: 1262

Can I view other tasks in gdb?

Debugging with the gdb stub is very useful. But I can only see the thread/task that crashed, not any others -- `info threads` only shows that thread. I'm trying to debug a problem where a thread is hung inside system code (`select`), and while I can easily make another task force an exception and dr...
by jens.alfke
Thu Jun 28, 2018 10:36 pm
Forum: General Discussion
Topic: Caching issues with mmap'ed flash
Replies: 6
Views: 2912

Re: Caching issues with mmap'ed flash

Looking through the spi_flash sources I found calls to a Cache_Flush() function; this looked promising, so I added

Code: Select all

Cache_Flush(0); Cache_Flush(1);
to my code just after calling esp_partition_write(). That appears to have fixed the problem.
by jens.alfke
Thu Jun 28, 2018 10:00 pm
Forum: General Discussion
Topic: Caching issues with mmap'ed flash
Replies: 6
Views: 2912

Re: Caching issues with mmap'ed flash

Yeah, that's what I'm thinking too; as I wrote above:
My only other hypothesis is that this is due to CPU cache coherency, but the spi_flash code looks like it's careful to disable/enable caches.
However I have no idea what additional cache might be at fault, nor how to flush it.
by jens.alfke
Thu Jun 28, 2018 4:32 pm
Forum: General Discussion
Topic: Debugging a deadlock/hang
Replies: 2
Views: 1587

Debugging a deadlock/hang

My app will sometimes just freeze -- it stops logging and responding to network requests. I'd like to interrupt it and drop into the GDB stub and look at the thread/task stacks. Is there a way to do this? I can't find a monitor command for it. My dev board (a SparkFun ESP32 Thing) has two physical b...

Go to advanced search