摘要:bsp_interrupt_server_trigger rtems_status_code rtems_interrupt_server_handler_install( uint32_t server_index, rtems_vector_number vector, const char *
阅读全文
摘要:arm32 中断初始化 qemu-system-arm -serial null -serial mon:stdio -nographic -M xilinx-zynq-a9 -m 256M -net tap,ifname=qtap,script=no,downscript=no -net nic,
阅读全文
摘要:优先级翻转简介: 就是高优先级的任务运行起来的效果好像成了低优先级,而低优先级比高优先级先运行。 优先级翻转如下所示: 优先级翻转过程: 为什么会发生优先级翻转? 因为两个任务(L和H)使用了同一个二值信号量,而在这两个任务之间,又有一个中等优先级的任务M,在这种情况下就容易发生优先级翻转。主要就是
阅读全文
摘要:ARM:FreeRTOS系统栈和任务栈背景:ARM 有两个栈指针PSP和MSP, 通过Control 寄存器来决定SP(R13)使用哪个栈。我们下面谈论的系统栈和任务栈,就和这两个栈指针有关。 FreeRTOS 任务栈 FreeRTOS不同于裸机每个TASK都有一个任务栈。FreeRTOS的任务栈是
阅读全文
摘要:信号量是操作系统中重要的一部分,信号量一般用来进行资源管理和任务同步,FreeRTOS 中信号量又分为二值信号量、计数型信号量、互斥信号量和递归互斥信号量。 1、信号量用于控制对共享资源的访问 举一个很常见的例子,某个停车场有100个停车位,这 100 个停车位大家都可以用,对于大家来说这 100
阅读全文
摘要:what tos_knl_irq_enter/tos_knl_irq_leave,大多数RTOS实现都提供了类似此一对函数功能的对应接口,需要开发者主动地分别在中断服务函数(ISR)的开始(tos_knl_irq_enter)及结束时调用(tos_knl_irq_leave)。 why 为什么要设计
阅读全文
摘要:内容导读: 第一篇文章讲述了任务的三大元素:任务控制块、任务栈、任务入口函数,并讲述了编写RTOS任务入口函数时三个重要的注意点。 RTOS内功修炼记(一)—— 任务到底应该怎么写? 第二篇文章从任务如何切换开始讲起,引出RTOS内核中的就绪列表、优先级表,一层一层为你揭开RTOS内核优先级抢占式调
阅读全文
摘要:riscv 通用寄存器 CPU中包含32个通用寄存器,有时候也会被称为通用寄存器文件,如图1所示。通用寄存器的命名方式为X0-X31。其中第一个寄存器X0的值,被硬连线到0,因此值永远是0。其他寄存器X1-X31都是可读可写的。0-31也叫做索引号,索引号也可以理解为寄存器的地址,当指令需要调用通用
阅读全文
摘要:[root@centos7 linux-5.14]# ls /dev/watchdog /dev/watchdog [root@centos7 opensbi]# ls /sys/bus/amba/ devices drivers drivers_autoprobe drivers_probe ue
阅读全文
摘要:# The part .data=0x08000000 should be replaced with the correct base offset of the ROM. # The value 0x08000000 is valid for STM32. arm-none-eabi-objco
阅读全文
摘要:dts [root@centos7 images]# qemu-system-riscv64 -machine virt -machine dumpdtb=riscv64-virt.dtb -bios fw_jump.elf [root@centos7 images]# dtc -I dtb -O
阅读全文
摘要:编译riscv gcc 下载完毕后,就要开始编译。首先在riscv-gnu-toolchain根目录下,创建build目录。用于编译riscv gcc。 riscv gcc可以编译成以下几个版本 riscv32-unknown-elf-gcc riscv64-unknown-elf-gcc risc
阅读全文
摘要:[root@centos7 rtems-examples]# cd classic_api/triple_period/ [root@centos7 triple_period]# ls init.c Makefile system.h tasks.c wscript [root@centos7 t
阅读全文
摘要:[root@centos7 hello_world_c]# aarch64-rtems6-gdb o-optimize/hello.exe GNU gdb (GDB) 10.1.90.20210409-git Copyright (C) 2021 Free Software Foundation,
阅读全文
摘要:系统信息 [root@centos7 ~]# qemu-system-aarch64 -version QEMU emulator version 4.2.0 Copyright (c) 2003-2019 Fabrice Bellard and the QEMU Project developer
阅读全文