nuttx-操作系统
yangang185
这个作者很懒,什么都没留下…
展开
-
闫刚 fread和read,fwrite和write区别
文章目录资源简介fread, fwrite基础知识3.1 nuttx的配置选项3.2 nuttx的文件句柄和文件描述符的定义3.2.1 file_struct文件结构3.2.2 file_opreation框架3.2.3 标准输入,标准输出,标准错误3.2.4 posix的标准接口定义3.3 fopen接口实现过程3.4 fwrite接口的实现3. 5 文件系统原理3.6 sd卡文件的write操...原创 2019-08-17 20:45:16 · 479 阅读 · 0 评论 -
闫刚 nuttx C库文件操作fwrite和系统调用write区别
文章目录资源简介fread, fwrite基础知识分析实现原理os是px4使用的nuttx。3.1 nuttx的配置选项3.2 nuttx的文件句柄和文件描述符的定义3.2.1 file_struct文件结构3.2.2 file_opreation框架3.2.3 标准输入,标准输出,标准错误3.2.4 posix的标准接口定义3.3.1 fopen接口实现过程3.3.2 fwrite接口的实现3....原创 2019-08-17 20:38:59 · 699 阅读 · 0 评论 -
闫刚 nuttx内核任务链表
文章目录资源nuttx在等待信号量资源的过程中任务切换过程分析nuttx在释放信号量资源后任务调度任务的状态总结资源闫刚 nuttx内核任务链表nuttx在等待信号量资源的过程中任务切换过程分析当前任务需要等待信号量资源,才继续执行,所以需要把当前任务移除就绪列表,添加到等待资源列表int nxsem_wait(FAR sem_t *sem) -> up_block_...原创 2019-08-22 13:36:35 · 513 阅读 · 0 评论 -
闫刚 nuttx的posix的定时器原理
文章目录定时器工作原理资源定时器模块初始化定时器创建启动定时器定时器超时函数定时器工作原理定时器主要是使用waitdog进行实现,周期处理是通过timer_timeout进行处理资源nuttx_posix_timer.md闫刚 nuttx的posix的定时器原理定时器模块初始化主要是创建定时器的资源, 静态分配资源到链表中。 void weak_function ...原创 2019-08-20 15:56:27 · 758 阅读 · 0 评论 -
闫刚 nuttx workqueue实现原理
文章目录资源工作队列实现添加工作对象工作队列执行进程使用注意资源nuttx_wqueue.md工作队列实现优点:最短时间调度缺点:工作队列执行完后,需要重新创建.添加工作对象static int work_qqueue(FAR struct usr_wqueue_s *wqueue, FAR struct work_s *work, ...原创 2019-08-18 21:50:08 · 500 阅读 · 1 评论 -
闫刚 nshterm实现重定向原理
文章目录资源代码分析nsh_initscript通过node分配files资源nuttx_wqueue.mdnshterm实现重定向原理代码分析后台运行,肯定直接启动1个线程执行$ nshterm /dev/ttyACM0 & 重要代码分析 nshterm_main(int argc, char *argv[]) 请问当前这里的fd是多少? 答案是3...原创 2019-08-18 21:36:41 · 160 阅读 · 0 评论 -
闫刚 nuttx ps命令在全局变量和procfs实现的对比
文章目录nuttx的ps命令实现原理在没有添加proc虚拟文件系统实现方式Nuttx的proc文件系统nsh命令中实现"ps"命令实现实例nuttx的ps命令实现原理在没有添加proc虚拟文件系统实现方式实现方法主要通过获取全局变量的值进行获取系统的状态,nuttx版本是NuttX-6.27int cmd_ps(FAR struct nsh_vtbl_s *vtbl, int argc...原创 2019-07-25 09:53:36 · 440 阅读 · 0 评论 -
闫刚 nuttx的exit是如何释放线程资源的
了解下px4的nuttx是exit是如何释放任务资源的平台os: nuttxhardware: pixhawk死循环退出会自动执行exit,释放TCB资源#ifdef CONFIG_NUTTX_KERNEL if ((tcb->cmn.flags & TCB_FLAG_TTYPE_MASK) != TCB_FLAG_TTYPE_KERNEL) { u...原创 2019-04-26 09:27:44 · 246 阅读 · 0 评论 -
闫刚 nuttx的进程和线程的创建过程区别
说明线程是如何创建,进程是如何创建的。TCB基础知识TCB主要是任务管理和group管理的内容task_group_stask_group_s {进程id组id信号资源消息队列文件句柄soket句柄}struct tcb_sstruct tcb_s{任务的基本信息,名字wait信号量信号部分}一共3种类型的TCBdefine TCB...原创 2019-07-08 10:25:43 · 1307 阅读 · 0 评论 -
闫刚 nuttx的work队列实现原理
工作队列实现优点:最短时间调度缺点:工作队列执行完后,需要重新创建.添加工作对象static int work_qqueue(FAR struct usr_wqueue_s *wqueue,FAR struct work_s *work, worker_t worker,FAR void *arg, systime_t delay)-> dq_addlast((FAR dq_e...原创 2019-07-08 10:28:15 · 394 阅读 · 0 评论 -
闫刚 nuttx如何统计固件的静态内存占用大小
编译px4stm32f4discovery的单板$ make px4-stm32f4discovery_default统计静态变量的大小我们通过统计静态变量的大小分析,静态内存的分配是多少yangang@ubuntu:~/work/github_proj/Firmware$ arm-none-eabi-nm --size-sort --print-size --radix=dec ./b...原创 2019-04-22 16:52:18 · 739 阅读 · 0 评论