Commit Graph

211 Commits

Author SHA1 Message Date
cuiziwei e21885b84a nuttx/boards:Uniform initialization format for init_array.
(1) Keep the `.init_array` and `.ctors` symbols and sort them according to their initialization priority.
(2) Exclude symbols ending with crtend.* and crtbegin.* to support c++
application.if we not exclude crtend.* crtbegin.* frame_dummy will be
added when enable any c++ application with global variables, this symbol
execution is problematic, removing it does not affect the application.

Signed-off-by: cuiziwei <cuiziwei@xiaomi.com>
2024-08-19 19:48:32 +08:00
Yanfeng Liu 76b58e4af0 board/lm3s6965-ek: restore 128K kflash
This reverts both 2afdcfb6a6 and 0a0af89de9 to restore the 128K kflash
design as the implementation depends on that to work, checked with:

```
$ qemu-system-arm -M lm3s6965evb -nographic -device \
    loader,file=nuttx.bin,addr=0x0 -device \
    loader,file=nuttx_user.bin,addr=0x2000
```

Signed-off-by: Yanfeng Liu <yfliu2008@qq.com>
2024-08-11 19:00:18 +08:00
Alan C. Assis 7e0db94063 arm/lm3s6965-ek: Disable NTPC for lm3s6965 to fix maximum flash space reached 2024-08-10 19:26:32 +08:00
Yanfeng Liu 0a0af89de9 board/lm3s6965-ek: fix memory.ld for PROTECTED
The uflash origin should equal to kflash size, this completes the
fix to unblock CI.

Signed-off-by: Yanfeng Liu <yfliu2008@qq.com>
2024-08-10 19:21:35 +08:00
Yanfeng Liu 2afdcfb6a6 boards/lm3s6965-ek: adjust memory.ld to unblock CI
This adjusts memory.ld to unblock CI issue: `nuttx_user.elf
section '.text' will not fit in region 'uflash'`

Signed-off-by: Yanfeng Liu <yfliu2008@qq.com>
2024-08-09 23:43:31 +08:00
Alan Carvalho de Assis 82946d0d5f net: Enable ICMP by default if IPv4 is enabled
Signed-off-by: Alan C. Assis <acassis@gmail.com>
2024-07-09 17:08:27 +08:00
Tiago Medicci Serrano 96f83bb03a net: Enable `CONFIG_NET_ARP_SEND` by default
Enable logic to send ARP requests if the target IP address mapping
does not appear in the ARP table.

Please check the comment in https://github.com/apache/nuttx/issues/12446#issuecomment-2145856778
2024-06-06 02:40:16 +08:00
Emmanuel Ferdman 4847587cf2 Documentation: update broken links 2024-04-10 15:17:53 -03:00
xuxin19 741de4b450 cmake:init protected-mode for CMake build
adjust link options for userspace elf
specify system libs and apps lib to only link with nuttx target in flat build mode

Signed-off-by: xuxin19 <xuxin19@xiaomi.com>
2024-03-27 23:01:08 +08:00
raiden00pl 56529d2944 Documentation: migrate the rest boards
- migrated /README are removed from /boards

- there are a lot of READMEs that should be further converted to rst.
  At the moment they are moved to Documentation/platforms and included in rst files
2023-10-26 18:13:34 -03:00
simbit18 4f985f4367 Fix Kconfig style
Remove spaces from Kconfig
Add comments
2023-09-22 00:35:48 +08:00
Alan Carvalho de Assis c27c33e9a9 Run refresh.sh to update all board configs 2023-09-02 14:45:44 +08:00
cuiziwei 4ec7af779d nuttx/boards:init_array.* needs to be executed in order
When I try to set priorities in certain programs, such as init_priority(HIGH_PRIORITY), I've noticed that during linking, there's no guarantee that the programs will be compiled in the sequence I've specified based on priority. This has led to some runtime errors in my program.

I realized that in the ld file, when initializing dynamic arrays, there's no assurance of initializing init_array.* before init_array. This has resulted in runtime errors in the program. Consequently, I've rearranged the init_array.* in the ld file of NuttX to be placed before init_array and added a SORT operation to init_array.* to ensure accurate initialization based on priorities during linking.
2023-08-29 22:54:37 +08:00
cuiziwei 25eb09c3bb nuttx/boards:add KEEP to *(.init_array .init_array.*)
replace *(.init_array .init_array.*) with KEEP(*(.init_array .init_array.*)).

The KEEP statement within a linker script will instruct the linker to keep the specified section, even if no symbols inside it are referenced. This statement is used within the SECTIONS section of the linker script. This becomes relevant when garbage collection is performed at link time, enabled by passing the --gc-sections switch to the linker. The KEEP statement instructs the linker to use the specified section as a root node when creating a dependency graph, looking for unused sections. Essentially forcing the section to be marked as used.

Signed-off-by: cuiziwei <cuiziwei@xiaomi.com>
2023-08-05 05:02:25 -07:00
Xiang Xiao a51be33a41 libc/tls: Change the default value of TLS_NELEM to zero
to ensure the default config as small as possible.

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-07-20 08:11:30 +02:00
Xiang Xiao 0ee304954a boards/tiva: Enable LTO for lm3s6432-s2e/nsh
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-07-13 10:13:21 +08:00
chao an 6ee9ec7656 build: add initial cmake build system
1. Update all CMakeLists.txt to adapt to new layout
2. Fix cmake build break
3. Update all new file license
4. Fully compatible with current compilation environment(use configure.sh or cmake as you choose)

------------------

How to test

From within nuttx/. Configure:

cmake -B build -DBOARD_CONFIG=sim/nsh -GNinja
cmake -B build -DBOARD_CONFIG=sim:nsh -GNinja
cmake -B build -DBOARD_CONFIG=sabre-6quad/smp -GNinja
cmake -B build -DBOARD_CONFIG=lm3s6965-ek/qemu-flat -GNinja

(or full path in custom board) :
cmake -B build -DBOARD_CONFIG=$PWD/boards/sim/sim/sim/configs/nsh -GNinja

This uses ninja generator (install with sudo apt install ninja-build). To build:

$ cmake --build build

menuconfig:

$ cmake --build build -t menuconfig

--------------------------

2. cmake/build: reformat the cmake style by cmake-format

https://github.com/cheshirekow/cmake_format

$ pip install cmakelang

$ for i in `find -name CMakeLists.txt`;do cmake-format $i -o $i;done
$ for i in `find -name *\.cmake`;do cmake-format $i -o $i;done

Co-authored-by: Matias N <matias@protobits.dev>
Signed-off-by: chao an <anchao@xiaomi.com>
2023-07-08 13:50:48 +08:00
Filipe Cavalcanti bf6f842aea boards/arm/tiva: bmp280 driver binding to tm4c1294 2023-05-10 17:59:01 +08:00
Filipe Cavalcanti 9355bd9d01 boards/arm/tiva: mpu6050 driver binding to TM4C1294
Fixed printf warning during compilation and added MPU6050 to bringup of tm4c.
2023-05-08 11:48:06 -03:00
chao an 5945f080b9 boars/spawn_proxy: remove all CONFIG_POSIX_SPAWN_PROXY_STACKSIZE
Signed-off-by: chao an <anchao@xiaomi.com>
2023-04-27 17:35:58 +08:00
ldube 16f1dcf2a7 Update boards/arm/tiva/tm4c1294-launchpad/src/tm4c_reset.c
Co-authored-by: hartmannathan <59230071+hartmannathan@users.noreply.github.com>
2023-04-25 15:25:34 +08:00
Lwazi Dube d94d2aad9e tm4c1294-launchpad: Add reboot support. 2023-04-25 15:25:34 +08:00
Petro Karashchenko ff376ceb1f boards/lm3s6432-s2e: reduce size of NSH configuration binary
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2023-04-20 05:51:32 -04:00
Lwazi Dube 4ff4562401 tm4c1294-launchpad: Use bmi160 driver for boostxl-sensors.
Use the preexisting bmi160 driver for the boostxl-sensors
boosterpack. Add macros to allow the bluetooth module to be
used with UART6.
2023-04-03 09:02:34 +02:00
Lucas Saavedra Vaz 10f294c026 boards: Fix broken defconfigs 2023-03-28 11:11:46 -03:00
Xiang Xiao 9b4ea90f5c boards: Remove signal number from README.txt
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-03-26 08:31:36 -06:00
Xiang Xiao 2c5f653bfd Remove the tail spaces from all files except Documentation
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-02-26 13:24:24 -08:00
Fotis Panagiotopoulos 8f9dfe0be1 Improvements in TCP connections allocation. 2023-02-20 09:06:46 +08:00
chao an e942a7c55e build/Kconfig: fix warnings detected by kconfiglib
Signed-off-by: chao an <anchao@xiaomi.com>
2023-02-09 20:07:46 +08:00
David Vosahlik 372fee9412 Added SocketCAN driver implementation to the tiva chip, modified the EK-TC1294XL launchpad board to use the new SocketCAN API 2023-01-31 14:07:23 +08:00
Petro Karashchenko a58e73add8 arch/arm/tiva: simplify TIVA_CAN option usage
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2023-01-26 10:26:09 +08:00
Xiang Xiao 299de87e68 tiva/lm3s6965-ek: Remove CONFIG_DEBUG_ASSERTIONS from qemu-protected
to save the code size

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-01-24 15:00:19 -03:00
Xiang Xiao 6b1e0ad1c4 tm4c1294-launchpad/Kconfig: Fix warning: defaults for choice values not supported
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-01-19 08:21:35 +01:00
David c19b5eeb8d Add support of CAN character device for tm4c1294 launchpad. 2023-01-18 12:15:53 +01:00
chao an 422272044b boards/iperf: device name will vary across different NICs
Signed-off-by: chao an <anchao@xiaomi.com>
2022-11-20 19:44:32 +08:00
Xiang Xiao 4e43fef5cd boards: Update telnetd related config after apps/nshlib change
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-11-07 15:24:29 +09:00
Xiang Xiao 28947517ca sched/spawn: Rename task_spawnattr_[get|set]stack[size|addr] to posix_spawnattr_[get|set]stack[size|addr]
since they can be not only used in task_spawn but also in posix_spawn

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-11-01 09:51:18 +09:00
Xiang Xiao edd68d8ae9 board: Change CONFIG_SYSTEM_NSH_SYMTAB to CONFIG_NSH_SYMTAB
follow the apps side change

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-10-18 22:18:51 +02:00
Xiang Xiao 6b31918b42 Remove the unnecessary cast for main_t, NULL and argv
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-10-18 08:51:45 +02:00
Xiang Xiao 7923ea3bef boards: Refresh defconfig after the default value of FS_PROCFS_EXCLUDE_xxx
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-10-18 15:10:26 +09:00
Xiang Xiao 78f6a02bc8 boards: Remove the duplicated prototype of CONFIG_INIT_ENTRYPOINT
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-10-16 19:02:44 +02:00
Nathan Hartman d8f9c60e9e boards/tm4c129e-launchpad: Enable priority inheritance in ostest config 2022-10-08 10:44:31 +09:00
Fotis Panagiotopoulos bbf3f2866d Fixed non-UTF8 characters. 2022-09-28 09:38:55 +08:00
Nathan Hartman 34192c07de boards/tm4c129e-launchpad: Expand README.txt
* boards/arm/tiva/tm4c129e-launchpad/README.txt:
  Expand this documentation with information about: toolchains,
  debugging (including the elusive openocd incantation to flash program
  the board), MCU clocking, more details about the Virtual COM port
  exposed via ICDI, and a description of the recently added ostest
  configuration.
2022-09-26 04:36:56 +08:00
Xiang Xiao 70290b6e38 arch: Change the linker generated symbols from uint32_t to uint8_t *
and remove the duplicated declaration

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-09-24 21:26:56 +02:00
Xiang Xiao af12a552fe sched/Kconfig: let PREALLOC_TIMERS depends on !DISABLE_POSIX_TIMERS
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-09-19 11:39:22 -03:00
chao an 0c4ca8dd21 boards/arm/ac6: add scatter linker script for sabre-6quad/lm3s6965-ek
add armclang compiler(AC6) support for board sabre-6quad/lm3s6965-ek

Verified config:
1. lm3s6965-ek:qemu-flat (Disable file apps)
./tools/configure.sh lm3s6965-ek:qemu-flat

-CONFIG_BOARDCTL_APP_SYMTAB=y
-CONFIG_ELF=y
-CONFIG_EXAMPLES_ELF=y
-CONFIG_EXAMPLES_ELF_DEVPATH="/dev/ram5"
-CONFIG_EXAMPLES_HELLO=y
-CONFIG_EXAMPLES_MODULE=y
-CONFIG_EXAMPLES_MODULE_DEVPATH="/dev/ram6"
-CONFIG_EXAMPLES_NETTEST=m
-CONFIG_EXAMPLES_WGET=y
-CONFIG_HOST_MACOS=y
-CONFIG_LIBC_DLFCN=y
-CONFIG_NSH_FILE_APPS=y

2. sabre-6quad/smp

Signed-off-by: chao an <anchao@xiaomi.com>
2022-09-18 00:08:42 +08:00
chao an 0f0a94186f arch/arm/toolchain: migrate the toolchain define to arch/arm/Kconfig
migrate the toolchain define to arch/arm/Kconfig to simplify new toolchain registration

Signed-off-by: chao an <anchao@xiaomi.com>
2022-09-16 14:47:27 +08:00
Nathan Hartman b04ae46ea6 boards/arm/tiva: Add tm4c129e-launchpad
* boards/arm/tiva/tm4c129e-launchpad: New subdirectory providing
  board support for the Texas Instruments TM4C Crypto Connected
  LaunchPad, or more correctly the EK-TM4C129EXL.

* Documentation/introduction/detailed_support.rst,
  Documentation/introduction/supported_platforms.rst,
  boards/README.txt: Document the additional board support.

* boards/Kconfig:
  (ARCH_BOARD_TM4C129E_LAUNCHPAD): New config.
  (ARCH_BOARD): Add tm4c129e-launchpad.
  (Board-Specific Options): Source the board-specific Kconfig
   boards/arm/tiva/tm4c129e-launchpad/Kconfig when selected.
2022-09-07 14:15:48 +08:00
Masayuki Ishikawa e68c975c41 boards: lm3s6965-ek: Fix to load ELF applications for qemu-protected
Summary:
- I noticed that error happens in loading nettest elf application.
- This commit fixes this issue by adding SYMTAB to the NSH
  as well as adjusting some parameters in CONFIG_ELF_XXX
- Also, CONFIG_EXAMPLES_HELLO is changed from y to m for testing.

Impact:
- lm3s6965-ek:qemu-protected only

Tested:
- Tested with qemu-6.2

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2022-08-26 18:11:42 +08:00