Commit Graph

682 Commits

Author SHA1 Message Date
Wayne a2b7a44070
[components][net][lwip][port] Fix next-hop finding in lwip_ip4_route_src. (#7504)
Co-authored-by: Wayne Lin <wclin@nuvoton.com>
2023-05-17 09:54:47 +08:00
wenxingpt f2d78e87b5
[component][at] fix(misc): fix null char input issue
fix issue #7005
2023-05-14 00:33:59 -04:00
zhkag 3419e591da [libc] redirecting header sys/ioctl to bits/ioctl 2023-05-05 19:29:38 -04:00
xiaoniaoyou6hua c34608b4a9
fix ipv6 compatibility issues (#7339) 2023-04-26 09:19:41 +08:00
szlr 90853abb08
[HUST CSE] for循环判断条件出错字符串读取越界 (#7352) 2023-04-26 09:15:31 +08:00
guo bd1763b979
[netdev] Add check if netdev->ops is null (#7362) 2023-04-24 17:06:54 +08:00
tyx 7ec14378ef [net][netdev]Add more hook functions 2023-04-24 10:58:05 +08:00
tyx 8aaa57e2ea [net][netdev]Use the interface to set the default netdev 2023-04-24 10:58:05 +08:00
hiro_655 786dce62c4
[Doxygen][components][net]Fix some comments (#7280)
修改了doxygen所报告的一些注释中的问题
2023-04-21 01:25:53 -04:00
Man, Jianting (Meco) 279825936b Update sal_socket.c 2023-04-20 22:54:04 -04:00
Myself 4117872c4c
[SAL][Kconfig]使用网络检测才依赖workqueue 2023-04-20 20:38:18 -04:00
Bernard Xiong 9600b75b55
[DFS] prepare for dfs_v2.0 (#7200)
* [DFS] prepare for dfs_v2. dfs_fd -> dfs_file; dfs_fnode -> dfs_vnode.

* [BSP] fix code analysis warning

* [smart] fix the pointer overflow.

* code format

* [smart] fix the lwp->lwp_obj checking.
2023-04-08 22:25:51 +08:00
Shicheng Chu 93f3cb30e4
[kernel] 将rt_thread结构体改为显式继承rt_object (#7131) 2023-04-04 09:06:27 -04:00
HUST_lxq 69e5b10e31
[at_socket.c] Fix null pointer vulnerability caused by the variable at_sock (#7166) 2023-04-03 23:06:42 +08:00
Lu_Reaper 3a9c5690b1
[AT] Add null pointer check in at_client_get (#7154)
1. prevent null-pointer dereference in rt_strcmp
2023-04-03 23:04:40 +08:00
yuanzihao 23786ee481
[GD32]add gd32470z-lckfb (#7022)
* --复制gd32450z-eval 作为立创梁山派 gd32470z-lckfb的模板进行移植
* -修改模板keil工程的配置,IROM需要注意总共为1024k,分为Code  area 和Data area  ,IRAM1为 : 512K-64K=448K=458752=0x70000。
-重新用ENV生成编译固件
片上SRAM可分为4块,分别为SRAM0(112KB)、SRAM1(16KB)、SRAM2(64KB)和TCMSRAM(64KB)。SRAM0、SRAM1和SRAM2可以被所有的AHB主机访问,然而,TCMSRAM(紧耦合存储器SRAM)只可被Cortex ® -M4内核的数据总线访问。BKPSRAM(备份SRAM)应用于备份域,即使当VDD供电电源掉电时,该SRAM仍可保持其内容。附加SRAM(ADDSRAM)只在一些特殊的GD32F4xx器件中可用。由于采用AHB互联矩阵,上述SRAM块可以同时被不同的AHB主机访问,例如,即使CPU正在访问SRAM0,USBHS也可以访问SRAM1。

* -修改IAR编译的链接脚本
* --修改Flash和RAM大小
-RAM大小为448k是因为512K-64K=448K,其中后面的64K为TCMSRAM(紧耦合存储器SRAM)只可被Cortex ® -M4内核的数据总线访问,先不要乱分配
* -修改MDK链接脚本
* -修改board.h
* -修改MCU型号
* -Finsh控制台和LED1闪灯程序工作正常,串口控制台名称错误,从uart改为uart0
-Scons正常生成工程
* -发现GD32固件库当前没有240Mhz的时钟配置,将固件库升级为GD32F4xx_Firmware_Library_V3.0.3-发布时间为2023-01-04
* -修改bsp/gd32/arm/gd32407v-start/board/SConscript文件
* -修改led1和change logs
* -按照提交规范使能 One ELF Section per Function(MDK) 并用scons重新生成工程
* -发现整个GD32的IAR模板工程template.eww 是没有的,所以当前是不支持IAR开发的,需要后面学习一下IAR使用再实现了。
* -使用formatting源码格式化工具跑一边gd32470z-lckfb目录
* -使用formatting源码格式化工具跑一遍[components/net/netdev/src/netdev.c]
-三个月前的提交多了几个空格
2023-03-10 23:21:31 -05:00
guozhanxin abfaa4bc4e [net] fix LWIP_HOOK_IP4_ROUTE_SRC define 2023-03-10 19:29:01 -05:00
geniusgogo e29dfb75ca
Fix net (#7034)
* fix LWIP_HOOK_IP4_ROUTE_SRC.

* fix netdev ping select network card.
2023-03-10 16:16:41 +08:00
betesla d1baf1f5b5 [Fix]:fix at_server.c link failed when using ac6
use __ARMCC_VERSION to replace __CC_ARM
2023-03-03 19:04:43 -05:00
geniusgogo a53367ac08 fixed O_LARGEFILE not defined ci build error. 2023-02-25 17:07:20 +08:00
geniusgogo 53afeda538 fix inet_ioctlsocket set O_LARGEFILE flag by musl. 2023-02-25 17:07:20 +08:00
guo 52cb2f0b7e
[lwIP] apply AF_UNIX feature (#6954) 2023-02-23 12:08:57 +08:00
Man, Jianting (Meco) 99bdf978d7
[rtdef] use lower-case to define attributes (#6728)
* [rtdef] rename RT_WEAK attribute as rt_weak

* [rtdef] rename RT_USED attribute as rt_used

* [rtdef] rename RT_SECTION attribute as rt_section

* [rtdef] rename ALIGN attribute as rt_align

* [legacy] add RT_USED ALIGN RT_SECTION RT_WEAK as legacy support
2022-12-11 13:12:03 -05:00
bernard c53d9da22e [lwIP] fix lwip sem/mutex valid issue. 2022-12-03 14:21:06 -05:00
guo ecf2d82159
sync branch rt-smart. (#6641)
* Synchronize the code of the rt mart branch to the master branch.
  * TTY device
  * Add lwP code from rt-smart
  * Add vnode in DFS, but DFS will be re-write for rt-smart
  * There are three libcpu for rt-smart:
    * arm/cortex-a, arm/aarch64
    * riscv64

Co-authored-by: Rbb666 <zhangbingru@rt-thread.com>
Co-authored-by: zhkag <zhkag@foxmail.com>
2022-12-03 12:07:44 +08:00
Yohozzy b64f21e628 Update netdev.c 2022-11-14 22:18:41 -05:00
朱天龙 (Armink) 4c92886ee5 [net/lwip] Fix ppp retry assert error when tcp is connect. 2022-10-27 00:01:55 -04:00
SNOWA 3400a79035 Update at_utils.c
如果打印格式为"%02X"的数据大于0x7F,打印的数据就会在前面多出6个'F',原因详见https://blog.csdn.net/zqxwce821/article/details/53011925。
现在通过强制转换成unsigned char后,在STM32(KEIL5+C99)已测试确认能修复该问题。
2022-10-19 22:28:36 -04:00
Tangyuxin a4829b1c00
[fix] Fix simulator compilation warnings (#6438)
* [fix] Fix simulator compilation warnings

* Update bsp/simulator/rtconfig_project.h

Co-authored-by: Man, Jianting (Meco) <920369182@qq.com>
2022-09-20 10:31:11 -04:00
Meco Man ce16945cba [kernel][version] 采用新的版本宏定义
版本控制规范:https://semver.org/

目前的版本子号不是很规范,其中RT_VERSION甚至和VS那边造成了冲突
```c
/* RT-Thread version information */
#define RT_VERSION                      4L              /**< major version number */
#define RT_SUBVERSION                   1L              /**< minor version number */
#define RT_REVISION                     1L              /**< revise version number */
```

参考ESP32:
```c
/** Major version number (X.x.x) */
#define ESP_ARDUINO_VERSION_MAJOR   2
/** Minor version number (x.X.x) */
#define ESP_ARDUINO_VERSION_MINOR   0
/** Patch version number (x.x.X) */
#define ESP_ARDUINO_VERSION_PATCH   3
```

建议改成:
```c
/* Major version number (X.x.x) */
#define RT_VERSION_MAJOR   4
/* Minor version number (x.X.x) */
#define RT_VERSION_MINOR   2
/* Patch version number (x.x.X) */
#define RT_VERSION_PATCH   0
```
2022-09-07 10:11:45 -04:00
dongly 3363586cbb
Fix some compilation warning (#5744)
* Fix some compilation warning

* 补充修正一些数据类型的使用错误

Co-authored-by: Meco Man <920369182@qq.com>
2022-08-02 12:09:49 -04:00
liuxianliang cca2f40ae0 [add] implement about "AT server". 2022-07-04 11:03:01 +08:00
Tangyuxin f5c88add37
Fix compiler warnings (#6023) 2022-06-08 01:21:50 +08:00
xiangxistu 2f9f39764d
[add] winsock implement on windows simulator. (#6010)
* [add] winsock implement on windows simulator.
2022-05-31 11:50:17 +08:00
Tangyuxin 577d619d4c
[net][lwip] Support windows simulator (#5993) 2022-05-30 18:01:18 +08:00
xiangxistu 4961ed59ba
[bug] use pointer that memory had freed. (#5971) 2022-05-23 01:46:22 +08:00
Meco Man 2575a93516 rename sal.h as sal_low_lvl.h 2022-05-16 10:02:22 +08:00
Meco Man 0e5bb9d042 revert docking 2022-05-16 10:02:22 +08:00
Meco Man 7fc707d99c [sal][kconfig] 重新梳理sal的依赖关系 2022-05-16 10:02:22 +08:00
Meco Man b793b6427a [sal] add draft for docking winsock 2022-05-16 10:02:22 +08:00
thewon86 f5b0bfd3f4 uniform code writing-disable interrupt 2022-04-20 14:22:43 +08:00
tyx 5fa15a19a0 [lwip] Fix compilation warning 2022-04-20 10:41:13 +08:00
guo 83c01cabf3
[lwip] delete useless RTM export (#5743) 2022-03-30 14:06:02 +08:00
Man, Jianting (Meco) be892de35a
[posix] add RT_USING_POSIX_SOCKET (#5731) 2022-03-29 13:39:55 +08:00
Man, Jianting (Meco) a514b3bd16
[components][kconfig] 整理Kconfig目录名称和结构 (#5698) 2022-03-25 23:07:18 +08:00
Man, Jianting (Meco) 3df75f9e32
[lwip] add lwip latest version (#5629)
* [lwip] 增加LWIP上游同步版本

* move pkgs to package repo

* add RT_USING_LWIP_LOCAL_VERSION to let users to decide whether can use upstream version of LwIP

* Update Kconfig
2022-03-14 09:13:04 +08:00
Man, Jianting (Meco) b2fa700c2a
[lwip] integrate and improve lwipopts.h (#5613)
* [lwip-2.1.2] improve lwipopts.h

* 增加LWIP RTT侧版本定义

* 移动调整cc.h和lwipopts.h定义

* lwip2.1.2 2.0.3抽出lwipopts.h lwippools.h

* remove lwip1.4.1 lwipopts.h

* [update] modify the default config through v1.4.1

* delete the useless macro and modify some unclear comments.

* [lwipopts.h] 完善头文件相关宏以及临界区保护相关宏

* remove latest version label

Co-authored-by: liuxianliang <liuxianliang@rt-thread.com>
2022-02-28 10:39:40 +08:00
Man, Jianting (Meco) e96e3e07f5
[lwip] integrate lwip porting layer (#5606)
* [lwip] integrate lwip porting layer

* Lwip 通用文件梳理 (#2)

* [modify] extract the common files for different version about lwip.

* [update] the initialization logic of lwIP.

* 整理源码结构

* ethernetif 头文件 ""改为<>

* 整理代码

* add macro definition "RT_USING_DEVICE_IPC".

* [update] mandatory selected "RT_USING_DEVICE_IPC".

* [modify] compile error for lost "lwip/init.h"

Co-authored-by: xiangxistu <52819708+xiangxistu@users.noreply.github.com>
Co-authored-by: liuxianliang <liuxianliang@rt-thread.com>
2022-02-23 23:56:43 +08:00
Man, Jianting (Meco) 6895da5307
[net] adjust folder structure (#5587)
* [net] adjust folder structure
- 将lwip相关的文件夹,移入lwip文件夹
- Kconfig 分散到at netdev lwip sal文件夹中,使用menuconfig代替menu
2022-02-20 00:07:45 +08:00
geniusgogo 658b2c1027 fix 32bit & 64bit value to pointer interconvert. 2022-01-28 11:35:10 +08:00
Man, Jianting (Meco) 5a0fea6987
[Kconfig][libcpu] 增加ARCH_CPU_BIG_ENDIAN (#5547)
* [cpu] 增加ARCH_CPU_BIG_ENDIAN
- 之前RT_USING_BIG_ENDIAN的命名并不合理,予以替换为ARCH_CPU_BIG_ENDIAN
- 删除一处多余的ARCH_CPU_64BIT
- 整理了libcpu/Kconfig的格式

* [libcpu][Kconfig] Cortex-M4&7 select ARCH_ARM_CORTEX_FPU

* revert last commit
2022-01-25 15:00:47 +08:00
guozhanxin 1aa96f34cd [lwip]Improve lwip support for 64-bit architecture 2022-01-21 21:48:45 +08:00
Meco Man 3606065803 [lwip] remove lwip 2.0.2
- 移除2.0.2,该版本存在几个重要的bug,已经在2.0.3中修复,作者强烈建议更新
- 将部分bsp由2.0.2调整为2.0.3
2022-01-20 20:54:51 +08:00
Man, Jianting (Meco) c3162f373f
[libc][lwip] 修复ioctl与lwip socket定义冲突的问题 (#5504)
* [lwip] 修复ioctl与lwip socket定义冲突的问题

* format sys/ioctl.h
2022-01-17 11:21:39 +08:00
liukangcc 3d2e23ec1c [update] move dfs_posix.h to legacy/dfs/dfs_posix.h 2022-01-14 23:09:32 +08:00
wangqiang 3842d3749c modify annotation for sys_arch_mbox_tryfetch 2022-01-13 15:06:37 +08:00
wangqiang 9e89fa158d fixed the return value for sys_arch_mbox_fetch in lwip stack 2022-01-13 14:50:25 +08:00
Meco Man f89a162ea3 [core] 使用rt_memcpy rt_memset代替memcpy memset 2022-01-09 00:23:18 +08:00
Meco Man 9a61b65c13 [lwip] 修复dhcpd没有包含2.0.3版本的问题 2021-12-30 20:02:01 -05:00
Meco Man ed09f38012 [libc] remove RT_USING_LIBC 2021-12-30 01:27:25 +08:00
Meco Man 093b9700c8 [kservice] remove RT_USING_ASM_MEMCPY RT_USING_ASM_MEMSET 2021-12-19 08:45:08 -05:00
jonas 7e06b6c504 [fix]修复AT组件在CLI模式下,指令输入过长导致数组越界的问题 2021-12-09 18:11:55 +08:00
liuxianliang 9b1f7c4ffe [fix] the problem of implicit declaration for "lwip_ip4_route_src". 2021-12-06 10:27:54 +08:00
Meco Man d7032b9c01 [lwip] solve the conflict between multi BYTE_ORDER(s) 2021-12-05 01:43:53 -05:00
guo fda37d55f8
Merge pull request #5319 from RT-Thread/master
【PSE分支】同步master到PSE分支
2021-12-02 10:09:37 +08:00
Meco Man 7973ede5a8 增加RT_USING_POSIX_FS 2021-11-29 00:53:46 -05:00
Bernard Xiong 1cea0c8c79
Merge pull request #5279 from OpenNuvoton/nuvoton
[Nuvoton] Update drivers.
2021-11-25 20:03:58 +08:00
Meco Man df9a23c534 [mutex] use RT_IPC_FLAG_PRIO to replace RT_IPC_FLAG_FIFO 2021-11-17 15:57:15 -05:00
liuxianliang 8e518f234a [fix] format 2021-11-15 15:58:31 +08:00
yukelab be2006f325 fix sys_arch.c 2021-11-15 15:30:21 +08:00
yukelab cda78884aa ping cmd with specified netif in lwip-2.1.2
using LWIP_HOOK_IP4_ROUTE_SRC hook find specified netif route, using
cmd `ping 192.168.xx.xx e0`, ping dest using e0 netif. if not found
netif, using default netif, the effect is same as the cmd `ping 192.168.xx.xx` that only ping with default netif.
2021-11-15 15:30:20 +08:00
Wayne 17cbdda13d
Merge branch 'RT-Thread:master' into nuvoton 2021-11-15 11:28:34 +08:00
Wayne Lin 9b44e57a60 Merge branch 'master' of https://github.com/RT-Thread/rt-thread into nuvoton 2021-11-10 16:01:38 +08:00
Meco Man 1adcc181aa add delay.c as default 2021-11-08 10:52:37 -05:00
Meco Man 251e17b41a 调整SAL依赖项 2021-11-07 21:29:28 -05:00
Meco Man 664a1d6a75 增加 RT_USING_POSIX_SELECT RT_USING_POSIX_POLL 2021-11-07 20:53:57 -05:00
Meco Man 0009d1f393 [posix]将pthread收缩到posix选项之下,将选定DFS后由DFS选定POSIX 改为选择posix后选择dfs 2021-11-06 19:32:57 -04:00
Meco Man bd24c67d06 define RT_USING_BIG_ENDIAN for the long-term version 2021-10-18 17:41:14 -04:00
Meco Man ee4b7916a3 [libc标准化]脱敏dfs_select.h 由标准sys/select.h代替 2021-09-22 16:45:21 -04:00
Meco Man d6b60300a5 [.ignore_format] 将ignore_format分散到各个文件夹中,不必集中在根目录下 2021-09-20 15:46:53 -04:00
guo 160d448660
Merge pull request #5051 from mysterywolf/be_libc
[libc标准化] 使用标准poll.h代替dfs_poll.h
2021-09-13 10:45:09 +08:00
Meco Man b35fffd659 [remove rtlibc]修复缺失的头文件导致的报错 2021-09-11 14:43:09 -04:00
Meco Man c360688714 使用poll.h代替dfs_poll.h 2021-09-11 11:56:54 -04:00
Bernard Xiong 4423b487c5
Merge pull request #5044 from BernardXiong/libc_pr
[libc] remove rtlibc
2021-09-11 20:00:39 +08:00
BernardXiong 0b13409c16 [BSP] fix compiling issue with libc 2021-09-11 18:09:22 +08:00
Grissiom 1ebf7b5196 [Netif] Fix the eth_tx_msg protection
The ethernetif use semaphore netif->tx_ack to protect the local variable
`struct eth_tx_msg msg` in function `ethernetif_linkoutput`. But the
function could be called in multiple context: LwIP "tcpip" thread, "erx"
thread(on linkup) and any user thread that call `udp_sendto`. So the
global semaphore protection is not sufficient. It could only wakeup the
top priority waiting thread instead of the thread that owns the `msg`
and may result the `msg` next in the mailbox got destructed.

So to use a `rt_completion` within the `struct eth_tx_msg` and
synchronize on that. This could deal the ownership issue in an easy way.
2021-09-11 13:11:57 +08:00
Bernard Xiong 8da9f78d72 [libc] remove rtlibc 2021-09-11 11:07:51 +08:00
guo 877bb072cf
Merge pull request #5014 from mysterywolf/finsh
[finsh] 修复由于移除finsh导致__cmd_xxx命令无法使用的问题
2021-09-05 19:49:43 +08:00
Meco Man e18d44940f [finsh] 修复由于移除finsh导致__cmd_xxx命令无法使用的问题 2021-09-05 01:57:26 -04:00
malongwei f1e1b6b2e3 fix at_client.c 2021-09-03 20:16:35 +08:00
malongwei c229d8b2b5 fix at_client.c 2021-09-01 21:19:22 +08:00
guo 553b57e3a9
Merge pull request #4897 from ImFovery/master
Update sockets.c
2021-08-31 16:15:44 +08:00
马志远 221da7f464 Remove C Style Command Shell 2021-08-23 17:30:05 +08:00
rtthread-bot d545b2af04 Merge remote-tracking branch 'rtt_gitee/gitee_master' 2021-08-10 16:25:59 +00:00
liuduanfei a24852b6ea update components/net/lwip_dhcpd/dhcp_server.c.
修改代码格式。添加空格
2021-08-10 09:06:12 +00:00
liuduanfei 745c7e0a7f update components/net/lwip_dhcpd/dhcp_server.c.
消除编译警告
2021-08-10 08:57:12 +00:00
Bernard Xiong 0880b43498
Merge pull request #4911 from mysterywolf/rt_delayed_work_init
[workqueue] remove rt_delayed_work_init()
2021-08-09 08:52:19 +08:00
Meco Man 396297a993 [ethernetif] replace rt_memcpy with SMEMCPY 2021-08-03 10:33:17 +08:00
Meco Man 4cac267927 [lwip] implement RT_USING_ASM_MEMCPY 2021-08-03 10:27:48 +08:00
Meco Man 94ed55f34d [workqueue] remove rt_delayed_work_init() 2021-08-01 17:26:01 +08:00