nuttx | Mirror of https : //bitbucket.org/nuttx/nuttx
kandi X-RAY | nuttx Summary
kandi X-RAY | nuttx Summary
o Environments - Installing Cygwin - Ubuntu Bash under Windows 10 o Installation - Download and Unpack - Semi-Optional apps/ Package - Installation Directories with Spaces in the Path - Downloading from Repositories - Related Repositories - Notes about Header Files o Configuring NuttX - Instantiating "Canned" Configurations - Refreshing Configurations - NuttX Configuration Tool - Finding Selections in the Configuration Menus - Reveal Hidden Configuration Options - Make Sure that You on on the Right Platform - Comparing Two Configurations - Incompatibilities with Older Configurations - NuttX Configuration Tool under DOS o Toolchains - Cross-Development Toolchains - NuttX Buildroot Toolchain o Shells o Building NuttX - Building - Re-building - Build Targets and Options - Native Windows Build - Installing GNUWin32 o Cygwin Build Problems - Strange Path Problems - Window Native Toolchain Issues o Documentation.
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of nuttx
nuttx Key Features
nuttx Examples and Code Snippets
Community Discussions
Trending Discussions on nuttx
QUESTION
Well as life tends to be frustrating, i have found yet another interesting bug in the great conglomerate of which makes up VS-Code and it's list of 'useful' extensions...
Back Story:
To begin - i purchased a new Sony - Spresense Main Board and Expansion Board for development and testing purposes. Everything arrived in great shape with the highest quality of product and packaging.
The First Step:
As with every micro-controller purchased, I always test every aspect offered with the device when it comes to programming. I used the well known Arduino ide to throw a few basic examples on the Spresense main board. They all flashed correctly, worked properly and i was happy to see the device works!
The Problem:
At this point i had gotten my fill of using the arduino ide... I decided to download the vscode extension , following the vscode setup guide provided by Sony Spresense Web Site.
- I noted the "setup guide" was using out of date versions from the most up to date available versions.
- I tried using the both older and most recent version with same issues.
- Every step was followed perfectly and matches the setup guide to the T.
- VsCode installs and loads the extension, workspace and workspace configuration properly.
- I also followed the instruction for installing the MSYS2 on windows and verified it was working correctly
The All Stop Error:
Excited to see my first hello world printf statment cruise thru the serial terminal i began the project spresense application build.
The Makefile proceeds thru the steps checking directories and performing required duties.
- Suddenly towards the end of the make build i get --- BUILD ERROR
make[3]: Entering directory '/c/msys64/home/Anon/spresense/sdk/apps/builtin' In file included from C:/msys64/home/Anon/spresense/nuttx/include/sys/types.h:47:0, from C:/msys64/home/Anon/spresense/nuttx/include/nuttx/lib/builtin.h:51, from ./builtin_list.c:44: C:/msys64/home/Anon/spresense/nuttx/include/stdint.h:49:12: fatal error: C:/msys64/home/Anon/spresense/nuttx/include/arch/types.h: Invalid argument
includecompilation terminated. ERROR: arm-none-eabi-gcc failed: 1 command: arm-none-eabi-gcc -M -fno-builtin -mabi=aapcs -ffunction-sections -fdata-sections -Wall -Wstrict-prototypes -Wshadow -Wundef -g -Os -fno-strict-aliasing -fno-strength-reduce -fomit-frame-pointer -mcpu=cortex-m4 -mthumb -mfpu=fpv4-sp-d16 -mfloat-abi=hard -I. -isystem /c/msys64/home/Anon/spresense/nuttx/include -isystem /c/msys64/home/Anon/spresense/nuttx/../sdk/include -D__KERNEL__ -pipe -gdwarf-3 -I /c/msys64/home/Anon/spresense/sdk/apps/include ./builtin_list.c make[3]: *** [/c/msys64/home/Anon/spresense/sdk/apps/Application.mk:209: .depend] Error 1 make[3]: Leaving directory '/c/msys64/home/Anon/spresense/sdk/apps/builtin'
The Make proceeds to throw 10 or so more errors of the same variety, all invalid argument..
I feel like this should be working... I mean with all the fan fair behind this product line one would think the basic setup guide and IDE should work out of the box...
I think i am figuring out why this product line is failing miserably in the public realm...
The Most Basic of Code
...ANSWER
Answered 2020-Jun-30 at 15:53I did a same steps with my spresense board, lastweek. But I did not face this problem...
And I interested of this. So, if you provide more information, I will investigate it!
- Does the file C:/msys64/home/Anon/spresense/nuttx/include/arch/types.h exist? And can you open the file?
- What did you choice in SDK Config? (Nothing as default?) If you OK to provide a "sdk.config", could you share it in this page?
- Did you use your spresense sdk (/c/msys64/home/Anon/spresense) for another things?(Build check, or configuration or etc...)
- What is your MSYS2 version?
And I think, you might can recover your environment with next command, could you try it?
QUESTION
I'd like to allocate some memory on mm_heap
, but its size is zero:
debug mm_heap
This causes the memory allocation to fail. How can I debug this problem?
For reference, I'm using Nuttx on a STM32F765.
...ANSWER
Answered 2019-Jun-09 at 13:57The heap size is zero because nothing was ever added to the heap. You can see this because the number of memory regions (mm_nregions) is also zero.
Memory regions are added to heap by mm_addregion() in mm_initialize(); There is guaranteed to be called at least once to add at least one memory regions. If the number of memory regions is zero this function failed for some reason.
The only way that the function can fail is it is passed bad parameters. The passing of the parameters is based one provided by the implementation of up_allocateheap() that you are using.
So what you must to is look at up_allocateheap() to understand what is being passed. The perhaps put a breakpoint of mm_addregion() to see exactly what it is unhappy about.
QUESTION
I'd like to add PWM support to my nuttx board config. I am using an STM32F765VGT6 MCU.
I started implementing it like in the STM32F4Discovery config directory:
- add
stm32_pwm_setup()
inconfigs//src/.h
- add
configs//src/stm32_pwm.c
:
ANSWER
Answered 2019-Mar-25 at 21:22stm32_pwm.h cannot be included by applications, the include paths (intentionally) do not support. If you move the initialization code to configs/stm32f4discovery/src/stm32_bringup.c it should compile fine.
STM32F7? There is no stm32_pwm.h for STM32F7. No one has contributed the PWM driver. This time the compiler is right, the header file does not exist in arch/arm/src/stm32f7. The solution would be to port the PWM driver from a similar STM32 architecture. The choices are:
arch/arm/src/stm32 - Which includes L1, F0, F2, F3, and F4, and arch/arm/src/stm32l4 - Which is only STM32L4
QUESTION
The Nuttx worker threads (LP and HP) have a polling interval, only for worker thread 0. I am wondering why a polling interval is needed?
When someone queues a new work into the work queue, a worker thread will be signaled to handle it. And if all worker threads were busy, the queued work will be handled when a thread has finished current work and checks the queue again.
As about the sched_garbage_collection() work, the worker threads are signaled by sched_signal_free().
So what is the case when a polling interval is required? It seems signals are good enough to make sure worker threads are always kicked to process the works.
...ANSWER
Answered 2018-Mar-10 at 17:06The polling is not required. It is just there as a failsafe. I was afraid of the consequence if a notification signal were lost. That would, of course, be a bug and since I am aware of no such bugs, I have to say that that the polling is unnecessary and a waste of CPU cycles.
Another issue is the default rate of the poll which is, as I recall, 50 MS. That turns out to be one of the higher rate activities and for the highest priority task. You could set that to a much lower rate. If you want to add an option to disable the polling, that might be a good thing too.
QUESTION
I am having problems with connection to vehicle. First, I could not connect to the vehicle even with USB (I used "/dev/ttyUSB0" connection string and got an error). Later I got it working with connection string '/dev/serial/by-id/usb-3D_Robotics_PX4_FMU_v2.x_0-if00'
and was able to send commands and receive response. Now I want to test it with the telemetry block connected to laptop USB. I tried the same way - with connection string "/dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0"
, but it gives timeout message.
USB connection test output:
...ANSWER
Answered 2018-Jan-09 at 14:11There are a couple of problems that can cause dronekit
to fail with a connection timeout:
Ensure you have the
pyserial
module installed.Specify the baud rate for your connection explicitly, as in:
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install nuttx
Use "sudo apt-get install ". As examples, this is how you would get GIT:.
Download and unpack the NuttX tarball. If you are reading this, then you have probably already done that. After unpacking, you will end up with a directory called nuttx-version (where version is the NuttX version number). You might want to rename that directory nuttx to match the various instructions in the documentation and some scripts in the source tree.
The nuttx build directory should reside in a path that contains no spaces in any higher level directory name. For example, under Cygwin, your home directory might be formed from your first and last names like: "/home/First Last". That will cause strange errors when the make system tries to build. [Actually, that problem is probably not to difficult to fix. Some Makefiles probably just need some paths within double quotes]. I work around spaces in the home directory name, by creating a new directory that does not contain any spaces, such as /home/nuttx. Then I install NuttX in /home/nuttx and always build from /home/nuttx/nuttx-code.
Build Targets: Below is a summary of the build targets available in the top-level NuttX Makefile:. Application housekeeping targets. The APPDIR variable refers to the user application directory. A sample apps/ directory is included with NuttX, however, this is not treated as part of NuttX and may be replaced with a different application directory. For the most part, the application directory is treated like any other build directory in the Makefile script. However, as a convenience, the following targets are included to support housekeeping functions in the user application directory from the NuttX build directory. The following targets are used internally by the make logic but can be invoked from the command under certain conditions if necessary.
The beginnings of a Windows native build are in place but still not often used as of this writing. The build was functional but because of lack of use may find some issues to be resolved with this build configuration.
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page