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(仿真环境篇)的更多相关文章
- 基于raw os 的事件触发系统
Raw os的事件触发系统有以下特点: 1 基于UML的状态机理念设计,实现了有限状态机(fsm)以及层次状态机(HSM). 2 实现了活动对象(ACTIVE OBJECT)的特性,一个活动对象包含了 ...
- 一、React Native 搭建开发环境(1)(Mac OS - IOS项目篇)
React Native是Facebook推出的一个开发IOS和安卓APP的技术.至于更多的详情,这里不再描述,大家可以自行百度它的定义. 原因:由于我想在一台电脑上同时开发IOS和Android两个 ...
- 基于 Mathematica 的机器人仿真环境(机械臂篇)[转]
完美的教程,没有之一,收藏学习. 目的 本文手把手教你在 Mathematica 软件中搭建机器人的仿真环境,具体包括以下内容(所使用的版本是 Mathematica 11.1,更早的版本可能缺少某些 ...
- mac os 下搭建android开发环境
mac os 下搭建android开发环境 周银辉 mac os 下搭建android环境比较方便, 如下几个步骤: 1,安装jdk 先搞清楚自己是否已经安装,在命令行下:java -version, ...
- or1200下raw-os学习(任务篇)
这次就来说说基于上一节介绍的系统框图去建立我们所需要的任务,顺便学习Raw-OS提供的API,根据上节的分析,对于Slave Board有如下设计: Slave Board有三个任务,分别负责测试阻抗 ...
- OS X环境下如何搭建编译Cocos2D-X v3.x的Android Studio工程
Cocos2D-X官网已经简单介绍了如何在OS X环境下搭建Cocos2D-X v2.x和v3.x的指南.具体链接为:http://www.cocos.com/doc/article/index?ty ...
- 【探索之路】机器人篇(5)-Gazebo物理仿真环境搭建_让机器人运动起来
如果完成了前两步,那么其实我们已经可以去连接我们的现实中的机器人了. 但是,做机器人所需要的材料还没有到,所以我们这里先在电脑平台上仿真一下.这里我们用到的就算gazebo物理仿真环境,他能很好的和R ...
- Mac下搭建php开发环境教程
方案一:原生安装 这篇文章主要介绍了Mac下搭建php开发环境教程,Mac OS X 内置了Apache 和 PHP,这样使用起来非常方便.本文以Mac OS X 10.6.3为例,需要的朋友可以参考 ...
- caffe框架下目标检测——faster-rcnn实战篇操作
原有模型 1.下载fasrer-rcnn源代码并安装 git clone --recursive https://github.com/rbgirshick/py-faster-rcnn.git 1) ...
随机推荐
- bzoj 1025 [SCOI2009]游戏(置换群,DP)
[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=1025 [题意] 给定n,问1..n在不同的置换下变回原序列需要的不同排数有多少种. [ ...
- php里面为什么header之前有输出报错 源码分析
众所周知,php 里面 header之前有输出的话,会报错,例如下面这样 就这个错误,我们开始查阅php源代码,到底是怎样做的,至于php源代码分析,安装,和调试时怎样配置的,我会专门写一篇文章去 ...
- trie树 Codeforces Round #367 D Vasiliy's Multiset
// trie树 Codeforces Round #367 D Vasiliy's Multiset // 题意:给一个集合,初始有0,+表示添加元素,-去除元素,?询问集合里面与x异或最大的值 / ...
- GUI、模块化与结对编程(homework-03)
摘要: 在本次作业博客里,我将主要阐述作业3的收获.作业3表面是将之前的程序转换为图形界面(之前程序见http://www.cnblogs.com/shone/p/3348372.html),然而本质 ...
- 如何在不装ORACLE的情况下使用PLSQL
原来我电脑装了oracle跟plsql,然后使用plsql的.后来因为某些原因,我重装了系统,把装的软件都格调了,需要重新装.当时在装plsql的时候我就想,我一直都是直接用plsql远程连接的服务器 ...
- iOS学习之触摸事件
触摸事件 iOS中的事件: 在用户使用app过程中,会产生各种各样的事件.iOS中的事件可以分为3大类型: view的触摸事件处理: 响应者对象: 在iOS中不是任何对象都能处理事件,只有继承了UIR ...
- [iOS微博项目 - 1.5] - NavigationBar标题按钮
A.NavigationBar标题按钮 1.需求 在“首页”的导航栏中部设置一个“首页”文字+箭头按钮 统一设置样式 根据实际文本长度调整宽度 消除系统自带的点击高亮效果 点击按钮,箭头上下颠倒 gi ...
- Linux系统管理员应该了解的一些I/O统计工具
作为一个Linux系统管理员,统计各类IO是一项必不可少的工作.其统计工具中iostat显然又是最重要的一个统计手段.但是这里iostat不是本文的重点,因为这个工具的使用在网络上已经有大量的教程,可 ...
- mmap和普通文件读写的区别和比较 & mmap的注意点
参考 http://www.cnblogs.com/huxiao-tee/p/4660352.html 对linux文件系统不了解的朋友,请参阅我之前写的博文<从内核文件系统看文件读写过程> ...
- application/xml和text/xml的区别
XML有两个MIME类型,application/xml和text/xml,它们之间的区别是: text/xml忽略xml文件头中的关于编码的设定(<?xml version="1.0 ...