or1200下Raw-OS学习(仿真环境篇)

2024-04-19 14:38
文章标签 学习 环境 仿真 os or1200 raw

本文主要是介绍or1200下Raw-OS学习(仿真环境篇),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

        貌似最近都在公司混日子过了,怎么办?哎哎哎~罪过啊罪过,不过也是的,加工资居然没我份,顶领导个肺的,叫我怎么继续活啊~哎哎哎~

        算了,不谈这些鸟事情了,说多了都是泪啊,这篇blog开始我们进入raw-os的api学习,为期大概是2个月吧,因为我从来没有接触过操作系统,好多东西都要补,本科学的是通信专业,妹的天天搞电路,不是放大器就是滤波器,不是锁相环就是AGC,天天搞天天搞,搞到现在出来工作了分配到个做软件的岗位,天朝就是这个坑爹来的么,从来都不懂什么叫资源合理分配,不过也没办法了,有时也找找自身的原因,不要去做愤青了~

        这篇blog先说说在openrisc架构体系下如何做验证raw-os的程序吧,至于实验环境还是官方提供的ubuntu镜像,因为这样我们就可以不用手动地区编译万恶的cross-tools,这些手动编译起来超级麻烦。



        至于官方提供的是vbox的镜像,真是什么都是开源的,打开深入之后就是这个样子的了,里面都是一些文档,至于环境搭建请参考《or1200软件环境搭建》,由于如果只是学习raw-os里kernel提供的APIs的话,现在可以不用去搭建FPGA上的SOC,这样学起来会比较快。

        但是我个人是不太喜欢用图形界面去搞的,在linux上命令行才是王道,所以呢,用linux的text模式登陆吧,类似于ubuntu server版本的情况,官方怎么不用server版呢,可能要迎合大众的口味吧~

        好吧,修改grub文件,如下图啦~

        命令是:sudo gedit /etc/default/grub



        然后对着:

        GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

        GRUB_CMDLINE_LINUX=""


        改为:

        GRUB_CMDLINE_LINUX_DEFAULT="quiet splash text"

        GRUB_CMDLINE_LINUX="vga=789"


        至于“vga=789”这个参数呢,貌似是有个参数表的,这个是修改成800*600的分辨率和24bit色的,这个为了分辨率而弄,具体可以google一下有关文章咧~

        好,保存,然后更新配置选项。

        命令:sudo update-grub



        OK,到此你就可以reboot你的系统了。

        命令:sudo reboot


        然后等再开机你会发现你没进入图形界面了,这个应该是一片黑的,然后在你的本本的键盘上激活控制台。

        命令:crtl+alt+f1~f6均可~默认开启是有6个tty控制台的,现在用crtl+alt+f2来激活tty2

        账号密码均为:openrisc


        登录进来,这里就是linux万恶的命令行模式,在这里我们就可以在纯软件而不用硬件平台去验证所写的raw-os程序,然后我们就一个例子看看如果使用这个环境。

        至于txj老大会不会最后选择FPGA平台的openrisc架构作为Raw-OS的下一个发展方向,我都会全力支持陈sir的伟大宏愿的~支持~v587,至于所写的例程都会作为学习raw-os的入门文档,当然也要希望各位去捧场lor~


        不废话了,接下来看看怎么使用这个环境吧~

        在这个tty的环境中和进了图形界面的terminal环境没什么区别的,唯一不能的就是图形复制和粘贴操作,这个比较可恨,遇到一个你比较长的命令的话就要敲半天,但是也没关系了,码农唯一一个技能就是能码,你吹我不胀,要不也可以写个shell脚本从windows那边粘贴命令过来连续执行。

        顺便了,在这个环境还能强制我们用shell和VIM,想转linux环境的最好还是自己逼迫自己使用这些东东吧。


        一个例子,这个有关定时器的一个例程了,这个星期会转入到任务同步和通信的学习,首先是信号量,然后再慢慢加深。


        1.首先挂在windows上的共享文件夹,目录根据自己的环境定哈~



        2.再然后看看共享文件夹里面关于raw-os工程的目录结构

        之前移植raw-os的blog里又说这个文件目录结构,这里不细说了~



        3.然后打开or1ksim.cfg文件,这个就是在linux中利用or1ksim这个软件架构模拟openrisc运行行为的配置文件,至于or1ksim已经安装好在官方提供的镜像了,这里就直说用法啦~

        找到section uart,修改成,这样就能在tty控制台观察到log了~



        4.然后回到tty里面,因为工程已经写好,就直接make了,在tty里面就是比在terminal里面的速度快好几倍~爽啊~


        到最后会生成boot.or32文件,这个就是or1ksim能识别的执行文件


        5.输入命令sim -f or1ksim.cfg boot.or32,回车,就可以观察到代码的运行情况,这样在软件上验证代码比起每次都要拿个开发板去验证爽多了



        因为现在软件这边打算在一个产品上上Raw-OS,现在是学习和验证Raw-OS的,因为软件这边是我全部负责的,所以用什么技术不用经过领导评审,哇哈哈~用的是TI的cortex-M4的单片机,话说TI也太恶心了,明明量产了,供货周期居然要18个月,你妹的,不过也好,我刚好能把软件重写一遍~上Raw-OS去跑~

        希望大家能继续支持Raw-OS的发展,小弟我也默默在支持支持~

这篇关于or1200下Raw-OS学习(仿真环境篇)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/917821

相关文章

SpringBoot 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

Unity新手入门学习殿堂级知识详细讲解(图文)

《Unity新手入门学习殿堂级知识详细讲解(图文)》Unity是一款跨平台游戏引擎,支持2D/3D及VR/AR开发,核心功能模块包括图形、音频、物理等,通过可视化编辑器与脚本扩展实现开发,项目结构含A... 目录入门概述什么是 UnityUnity引擎基础认知编辑器核心操作Unity 编辑器项目模式分类工程

Python学习笔记之getattr和hasattr用法示例详解

《Python学习笔记之getattr和hasattr用法示例详解》在Python中,hasattr()、getattr()和setattr()是一组内置函数,用于对对象的属性进行操作和查询,这篇文章... 目录1.getattr用法详解1.1 基本作用1.2 示例1.3 原理2.hasattr用法详解2.

Java 与 LibreOffice 集成开发指南(环境搭建及代码示例)

《Java与LibreOffice集成开发指南(环境搭建及代码示例)》本文介绍Java与LibreOffice的集成方法,涵盖环境配置、API调用、文档转换、UNO桥接及REST接口等技术,提供... 目录1. 引言2. 环境搭建2.1 安装 LibreOffice2.2 配置 Java 开发环境2.3 配

SpringBoot多环境配置数据读取方式

《SpringBoot多环境配置数据读取方式》SpringBoot通过环境隔离机制,支持properties/yaml/yml多格式配置,结合@Value、Environment和@Configura... 目录一、多环境配置的核心思路二、3种配置文件格式详解2.1 properties格式(传统格式)1.

Go语言编译环境设置教程

《Go语言编译环境设置教程》Go语言支持高并发(goroutine)、自动垃圾回收,编译为跨平台二进制文件,云原生兼容且社区活跃,开发便捷,内置测试与vet工具辅助检测错误,依赖模块化管理,提升开发效... 目录Go语言优势下载 Go  配置编译环境配置 GOPROXYIDE 设置(VS Code)一些基本

Windows环境下解决Matplotlib中文字体显示问题的详细教程

《Windows环境下解决Matplotlib中文字体显示问题的详细教程》本文详细介绍了在Windows下解决Matplotlib中文显示问题的方法,包括安装字体、更新缓存、配置文件设置及编码調整,并... 目录引言问题分析解决方案详解1. 检查系统已安装字体2. 手动添加中文字体(以SimHei为例)步骤

Java JDK1.8 安装和环境配置教程详解

《JavaJDK1.8安装和环境配置教程详解》文章简要介绍了JDK1.8的安装流程,包括官网下载对应系统版本、安装时选择非系统盘路径、配置JAVA_HOME、CLASSPATH和Path环境变量,... 目录1.下载JDK2.安装JDK3.配置环境变量4.检验JDK官网下载地址:Java Downloads

SQLite3 在嵌入式C环境中存储音频/视频文件的最优方案

《SQLite3在嵌入式C环境中存储音频/视频文件的最优方案》本文探讨了SQLite3在嵌入式C环境中存储音视频文件的优化方案,推荐采用文件路径存储结合元数据管理,兼顾效率与资源限制,小文件可使用B... 目录SQLite3 在嵌入式C环境中存储音频/视频文件的专业方案一、存储策略选择1. 直接存储 vs