Hi everyone!
Is there any 100% working actual HD44780 display library for Mbed? Since any one published “doesn’t have printf member”.
Hello,
try this one mbed-ce-libraries-examples/TextLCD: Library for interfacing character LCDs with MbedCE (github.com)
It is prepared for MbedCE but it will work also with regular Mbed.
BR, Jan
Thank you! It works. Where can I find more about Mbed CE?
You are welcome
- [Help Wanted] Mbed CE: A community fork of Mbed OS - Mbed OS - Arm Mbed OS support forum
- Home · mbed-ce/mbed-os Wiki (github.com)
BR, Jan
Mbed CE is not for beginners. It’s really impossible for me to even correctly setup IDE with the toolchain. It just doesn’t work. Sadly.
If you mean it is not like Arduino IDE then yes but it depends if you want move your knowledge forward or not. MbedStudio and KeilStudio Cloud are buggy.
It is possible, just follow the instructions. If you have an issue feel free to ask.
BR, Jan
Please be so kind and make a picture of your project structure. These errors occurs because something is missing.
Content of CMakeLists.txt ( Points 6-8 of New Project Setup Guide · mbed-ce/)
cmake_minimum_required(VERSION 3.19)
cmake_policy(VERSION 3.19)
set(MBED_APP_JSON_PATH mbed_app.json)
include(mbed-os/tools/cmake/app.cmake)
add_subdirectory(mbed-os)
project(MbedCE_Example)
add_executable(main main.cpp)
target_link_libraries(main mbed-os)
mbed_set_post_build(main)
mbed_finalize_build()
Content of cmake-variants.yaml (Point 5 of Project Setup: VS Code · mbed-ce)
buildType:
default: Develop
choices:
Develop:
short: Develop
long: Emit debug information but also optimize
buildType: Develop
Debug:
short: Debug
long: Emit debug information and don't optimize
buildType: Debug
Release:
short: Release
long: Optimize generated code
buildType: Release
board:
default: NUCLEO-F303RE
choices:
YOUR_MBED_TARGET:
short: NUCLEO-F303RE
settings:
MBED_TARGET: NUCLEO-F303RE
# Fill your upload method according to variants below
# - universal: NONE, MBED, JLINK, PYOCD, OPENOCD
# - target specific: STLINK, STM32CUBE, LINKSERVER, PICOTOOL, ARDUINO_BOSSAC
# For more visit - https://github.com/mbed-ce/mbed-os/wiki/Upload-Methods#upload-method-list
UPLOAD_METHOD: STM32CUBE
Folders like
- vscode will be created automatically after first correct cmake run .
- build will be created automatically with first build run .
BR, Jan
cmake_minimum_required(VERSION 3.19)
cmake_policy(VERSION 3.19)
Initialize Mbed OS build system.
Note: This block must be before the include of app.cmake
set(MBED_APP_JSON_PATH mbed_app.json5)
include(mbed-os/tools/cmake/app.cmake)
add_subdirectory(mbed-os)
project(MyMbedApp)
add subdirectories and build targets here
mbed_finalize_build()
add_executable(MyProgram MyProgram.cpp)
target_link_libraries(MyProgram mbed-os) # Can also link to mbed-baremetal here
mbed_set_post_build(MyProgram)
buildType:
default: Develop
choices:
Develop:
short: Develop
long: Emit debug information but also optimize
buildType: Develop
Debug:
short: Debug
long: Emit debug information and don’t optimize
buildType: Debug
Release:
short: Release
long: Optimize generated code
buildType: Release
board:
default: NUCLEO_F303RE
choices:
NUCLEO_F303RE:
short: NUCLEO_F303RE
settings:
MBED_TARGET: NUCLEO_F303RE
UPLOAD_METHOD: MBED
I do not know what this is
The rest looks good to me.
Try to perform this
- select GCC
- select target
and after your target is choosed then you will see something in your output panel and this is what we need to see.
BR, Jan
Hello, Jan.
What do you think about Platformio plugin and Mbed?
Hello,
I do not have personal experiences Platformio but i do not want to use a platform that just collect another platforms and use them.
For example Arduino uses MbedOS under hood for ARM based boards - Portenta H7, Arduino nano 33 BLE, RPI Pico. The Platformio uses Arduino library that uses MbedOS uder hood… this is ideal model, right?
BR, Jan
Hi.
This is my 2nd try to run MbedCE. I installed everything by the instructions. But got this error in the
VSCode.
Surely, path to the toolchain is in the environment.
Any idea?
What is the result in the output window when you click to this
and then choose first option Scan for kits?
[proc] Executing command: C:\ST\STM32CubeCLT\GNU-tools-for-STM32\bin\arm-none-eabi-gcc-11.3.1.exe -v
[proc] Executing command: C:\ST\STM32CubeCLT\GNU-tools-for-STM32\bin\arm-none-eabi-gcc.exe -v
[proc] Executing command: "C:\Program Files (x86)\Arm GNU Toolchain arm-none-eabi\13.2 Rel1\bin\arm-none-eabi-gcc-13.2.1.exe" -v
[proc] Executing command: "C:\Program Files (x86)\Arm GNU Toolchain arm-none-eabi\13.2 Rel1\bin\arm-none-eabi-gcc.exe" -v
[proc] Executing command: "C:\Program Files (x86)\Arm GNU Toolchain arm-none-eabi\12.3 rel1\bin\arm-none-eabi-gcc-12.3.1.exe" -v
[proc] Executing command: "C:\Program Files (x86)\Arm GNU Toolchain arm-none-eabi\12.3 rel1\bin\arm-none-eabi-gcc.exe" -v
[proc] Executing command: "C:\Program Files (x86)\Arm GNU Toolchain arm-none-eabi\12.3 rel1\bin\arm-none-eabi-gcc.exe" -v
[proc] Executing command: C:\ST\STM32CubeCLT\GNU-tools-for-STM32\bin\arm-none-eabi-gcc.exe -v
[proc] Executing command: "C:\Program Files (x86)\Arm GNU Toolchain arm-none-eabi\13.2 Rel1\bin\arm-none-eabi-gcc.exe" -v
[kit] Found Kit (trusted): GCC 11.3.1 arm-none-eabi
[kit] Found Kit (trusted): GCC 11.3.1 arm-none-eabi
[kit] Found Kit (trusted): GCC 13.2.1 arm-none-eabi
[kit] Found Kit (trusted): GCC 13.2.1 arm-none-eabi
[kit] Found Kit (trusted): GCC 12.3.1 arm-none-eabi
[kit] Found Kit (trusted): GCC 12.3.1 arm-none-eabi
[kit] Successfully loaded 3 kits from C:\Users\User\AppData\Local\CMakeTools\cmake-tools-kits.json
BR, Jan
Step 4 of Project Setup: VS Code · mbed-ce/mbed-os Wiki (github.com) mentioned this. So how did you proceed this? When you does not have these options.
BR, Jan
I can’t get arm toolchain to appear here.
I clicked both: search for kits and unspecified.
[main] Configuring project: mbed-ce-hello-world
[proc] Executing command: “C:\Program Files\CMake\bin\cmake.EXE” --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Debug -DMBED_TARGET:STRING=NUCLEO_F303RE -DUPLOAD_METHOD:STRING=MBED -DCMAKE_EXPORT_COMPILE_COMMANDS:BOOL=TRUE -SC:/Git/mbed-ce-hello-world -Bc:/Git/mbed-ce-hello-world/build -G Ninja
[cmake] Not searching for unused variables given on the command line.
[cmake] – The C compiler identification is unknown
[cmake] – The CXX compiler identification is unknown
[cmake] – The ASM compiler identification is unknown
[cmake] – Found assembler: arm-none-eabi-gcc
[cmake] CMake Error at mbed-os/tools/cmake/app.cmake:34 (enable_language):
[cmake] The CMAKE_C_COMPILER:
[cmake]
[cmake] arm-none-eabi-gcc
[cmake]
[cmake] is not a full path and was not found in the PATH. Perhaps the extension is
[cmake] missing?
[cmake]
[cmake] Tell CMake where to find the compiler by setting either the environment
[cmake] variable “CC” or the CMake cache entry CMAKE_C_COMPILER to the full path to
[cmake] the compiler, or to the compiler name if it is in the PATH.
[cmake] Call Stack (most recent call first):
[cmake] CMakeLists.txt:12 (include)
[cmake]
[cmake]
[cmake] CMake Error at mbed-os/tools/cmake/app.cmake:34 (enable_language):
[cmake] The CMAKE_CXX_COMPILER:
[cmake]
[cmake] arm-none-eabi-g++
[cmake]
[cmake] is not a full path and was not found in the PATH. Perhaps the extension is
[cmake] missing?
[cmake]
[cmake] Tell CMake where to find the compiler by setting either the environment
[cmake] variable “CXX” or the CMake cache entry CMAKE_CXX_COMPILER to the full path
[cmake] to the compiler, or to the compiler name if it is in the PATH.
[cmake] Call Stack (most recent call first):
[cmake] CMakeLists.txt:12 (include)
[cmake]
[cmake]
[cmake] CMake Error at mbed-os/tools/cmake/app.cmake:34 (enable_language):
[cmake] The CMAKE_ASM_COMPILER:
[cmake]
[cmake] arm-none-eabi-gcc
[cmake]
[cmake] is not a full path and was not found in the PATH. Perhaps the extension is
[cmake] missing?
[cmake]
[cmake] Tell CMake where to find the compiler by setting either the environment
[cmake] variable “ASM” or the CMake cache entry CMAKE_ASM_COMPILER to the full path
[cmake] to the compiler, or to the compiler name if it is in the PATH.
[cmake] Call Stack (most recent call first):
[cmake] CMakeLists.txt:12 (include)
[cmake]
[cmake]
[cmake] – Warning: Did not find file Compiler/-ASM
[cmake] – Configuring incomplete, errors occurred!
[proc] The command: “C:\Program Files\CMake\bin\cmake.EXE” --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Debug -DMBED_TARGET:STRING=NUCLEO_F303RE -DUPLOAD_METHOD:STRING=MBED -DCMAKE_EXPORT_COMPILE_COMMANDS:BOOL=TRUE -SC:/Git/mbed-ce-hello-world -Bc:/Git/mbed-ce-hello-world/build -G Ninja exited with code: 1