Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Linux target does not work for 5.3.2, but works in 5.3.1 (IDFGH-14263) #15056

Open
3 tasks done
joyhope opened this issue Dec 19, 2024 · 3 comments
Open
3 tasks done

Linux target does not work for 5.3.2, but works in 5.3.1 (IDFGH-14263) #15056

joyhope opened this issue Dec 19, 2024 · 3 comments
Labels
Status: Opened Issue is new Type: Bug bugs in IDF

Comments

@joyhope
Copy link

joyhope commented Dec 19, 2024

Answers checklist.

  • I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
  • I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
  • I have searched the issue tracker for a similar issue and not found a similar issue.

IDF version.

v5.3.2

Espressif SoC revision.

linux

Operating System used.

Linux

How did you build your project?

Command line with Make

If you are using Windows, please specify command line type.

None

Development Kit.

linux

Power Supply used.

USB

What is the expected behavior?

I make a little change for system/console/basic/ for support linux target. The same application, using v5.3.1 SDK, the console works. waiting for user input, but with 5.3.2 SDK, the console constant work, output "Unrecognized command
". It seem console not block for user input.

What is the actual behavior?

Expect:
``
Type 'help' to get the list of commands.
Use UP/DOWN arrows to navigate through command history.
Press TAB when typing command name to auto-complete.
linux> help
free
Get the current size of free heap memory

heap
Get minimum size of free heap memory that was available during program
execution


The problem v5.3.2 behavior

auto execute output. 

linux>
Unrecognized command



### Steps to reproduce.

system/console/basic 

root cmake file

if("${IDF_TARGET}" STREQUAL "linux")
set(COMPONENTS main)
endif()


cmakefile in main.

set(requires "")
idf_build_get_property(target IDF_TARGET)

if(${target} STREQUAL "linux")
list(APPEND requires esp_stubs esp_event esp-tls esp_http_client console nvs_flash)
endif()

idf_component_register(SRCS "console_example_main.c"
INCLUDE_DIRS "."
REQUIRES ${requires})


Some minor compile problem in console/advanced/ , easy to process. 




### Debug Logs.

_No response_

### More Information.

It is good to support linux target. 
@joyhope joyhope added the Type: Bug bugs in IDF label Dec 19, 2024
@github-actions github-actions bot changed the title console Linux target does not work for 5.3.2, but work in 5.3.1 console Linux target does not work for 5.3.2, but work in 5.3.1 (IDFGH-14263) Dec 19, 2024
@espressif-bot espressif-bot added the Status: Opened Issue is new label Dec 19, 2024
@joyhope joyhope changed the title console Linux target does not work for 5.3.2, but work in 5.3.1 (IDFGH-14263) Linux target does not work for 5.3.2, but works in 5.3.1 (IDFGH-14263) Dec 19, 2024
@ESP-Marius
Copy link
Collaborator

The console implementation on linux has a known issue, the read() call can be interrupted by the signals, e.g. what the freertos implementation uses for sheduling different threads.

I don't think there is anything different between v5.3.1 and v5.3.2 in this regard, the fact that it worked is probably related to another difference in your project.

Right now it cannot be reliably used on linux, finding a workaround for this issue is in our backlog.

@joyhope
Copy link
Author

joyhope commented Dec 19, 2024 via email

@joyhope
Copy link
Author

joyhope commented Dec 20, 2024 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Status: Opened Issue is new Type: Bug bugs in IDF
Projects
None yet
Development

No branches or pull requests

3 participants