logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

开发一个RISC-V上的操作系统(七)—— 硬件定时器(Hardware Timer)

生活离不开对时间的管理,操作系统也是一样。时钟节拍(Tick)操作系统中最小的时间单位。Tick的单位(周期)由硬件定时器的周期决定(通常为1~100ms)。Tick周期越小,系统精度越高,但开销越大。

文章图片
#risc-v#linux
开发一个RISC-V上的操作系统(四)—— 内存管理

操作系统将一整块内存划分了几个区域,每个区域用来做不同的事情:栈区(stack):存放函数形参和局部变量,由编译器自动分配和释放。堆区(heap):动态分配区域,由程序员申请后使用(如使用malloc函数),需要手动释放否则会造成内存泄漏。全局/静态存储区:存放全局变量和静态变量(包括静态全局变量和静态局部变量),初始化后的全局变量和静态局部变量放在.data区中,未初始化的放在.bss区中。常量

文章图片
#risc-v#linux
开发一个RISC-V上的操作系统(一)—— 环境搭建

其中 gcc-riscv64-unknown-elf 就是我们的交叉编译工具,可以把程序编译成riscv上的可执行文件;gdb为debug工具;qemu是一个模拟器,可以模拟出riscv系统。经过处理,生成的二进制文件只含有机器指令。但此时的程序并不能直接运行。知道如何烧录程序到处理器上的话,之后操作系统的开发和验证都会方便很多。,它是一个 ELF 文件。部分的机器指令,所以用。编译后,我们可以得

文章图片
#risc-v#linux
Verilog学习笔记八(串口数据接收与发送)

等空闲状态只需一次(保证有10bit以上的连续的1): verilog代码:三、串口数据发送verilog代码:

文章图片
#学习#fpga开发
IMX6ULL按键控制LED灯亮灭(基于韦东山嵌入式Linux教程)

在linux中,一切皆文件,设备也是作为文件存在于linux里面的,我们在应用层对设备进行各种操作就相当于对文件进行读写操作,所以为了让应用层能够通过对文件的操作来控制设备,我们要提供接口给应用层(如open,read,write等等),比如通过read读取引脚电平(按键是否按下),通过write来让引脚为高电平或者低电平(控制led是否打开)。

文章图片
#单片机#嵌入式硬件#linux
Linux内核学习(包含Linux 2.6内核编译安装流程)

Linux内核官方网站为:http://www.kernel.org或者使用git将源码clone下来(我这里使用的版本为2.6):clone下来的源码目录结构如下:其中比较重要的目录的官方描述如下: 对应的中文描述如下:2、升级GCC版本由于腾讯云初始gcc版本为4.8.5,而编译内核需要的最低版本为5.1.0,所以需要安装高于5.1.0版本的gcc。设置devtoolset-7 为默认的gcc

文章图片
#linux#学习
x86 汇编手册快速入门

本指南描述了 32 位 x86 汇编语言编程的基础知识,包括寄存器结构,数据表示,基本的操作指令(包括数据传送指令、逻辑计算指令、算数运算指令),以及函数的调用规则。

文章图片
#linux#学习
FPGA学习——触发器(FF)

触发器,英文名称,简称FF,,因此它的输出具有两个稳定状态——状态0和状态1。触发器有很多类型,如RS触发器、D触发器、JK触发器、T触发器等。

文章图片
#fpga开发#学习
Verilog学习(SPI协议的Flash驱动控制)

SPI通信模式为主-从模式 ,分为一主一从、一主多从:片选线CS用于主机选择对应的从机进行通信,片选线置低电平为通信开始信号,被拉高则为开始信号。

文章图片
#学习#fpga开发
RISC-V处理器设计(五)—— 在 RISC-V 处理器上运行 C 程序

前面我们使用 verilog 完成了一个 risc-v cpu 的设计,但 cpu 最终也是为了程序服务的,不能执行程序的 cpu 没有任何意义。所以这一节我们要研究如何在自己设计的 cpu 上运行 C 程序。

文章图片
#risc-v
    共 16 条
  • 1
  • 2
  • 请选择