
51【操作系统】LInux+RTOS+core
文章平均质量分 53
51【操作系统】LInux+RTOS+Android-core
八皇后OS
嵌入式,linux
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
《操作系统实战45讲》10 | 设置工作模式与环境(上):建立计算机 实验记录
1, 10 | 设置工作模式与环境(上):建立计算机 https://time.geekbang.org/column/article/3792912, 青玉白露: 参考neohope的方法,其实在Mac和Windows环境下利用VirtualBox可以很方便的进行测试,只需要建立两个虚拟机,一个ubuntu一个是我们的COSMOS,自己在Mac上进行了测试,具体的细节可以参考博客:https://blog.youkuaiyun.com/ll15982534415/article/details/11877128原创 2021-12-07 01:11:41 · 1571 阅读 · 0 评论 -
linux - ubuntu上安装 VirtualBox、搭建ubuntu18.04虚拟机(解决:窗口太小,无法点击按钮)
linux - ubuntu上安装 VirtualBox、搭建ubuntu18.04虚拟机(解决:窗口太小,无法点击按钮)https://lawsssscat.blog.youkuaiyun.com/article/details/108501048窗口太小,无法点击按钮点击 alt+f7 ,可以拖动窗口。基于VirtualBox虚拟机安装Ubuntu图文教程222...原创 2021-12-02 21:08:15 · 1585 阅读 · 0 评论 -
操作系统实战45讲01:运行HelloOS。Ubuntu 21.10
1. HelloOS说明1.1 HelloOS构成HelloOS为极客时间《操作系统实战45讲》中引入的示例OS,在L02中由如下文件构成,各文件内容简介如下,① entry.asm供grub调用的引导程序,用于设置CPU工作模式与工作环境,并调用C语言编写的main函数② main.c实现main函数,此处用于打印字符串③ vgastr.c / vgastr.h实现字符串在显示器上的输出说明1:写入字符ASCII码的目标地址为0xb8000起始的内存,映射到该地址的,是显卡字符模原创 2021-11-26 23:03:59 · 3497 阅读 · 1 评论 -
c语言编译流程。1.预处理(Preprocessing), 2.编译(Compilation), 3.汇编(Assemble), 4.链接(Linking)。
1 前言C语言程序从源代码到二进制行程序都经历了那些过程?本文以Linux下C语言的编译过程为例,讲解C语言程序的编译过程。编写hello world C程序:// hello.c#include <stdio.h>int main(){ printf("hello world!\n");}编译过程只需:$ gcc hello.c -o hello # 编译$ ./hello # 执行hello world!上述gcc命令其实依次执行了四步操作:1.预处理(P原创 2021-11-21 22:21:47 · 1117 阅读 · 0 评论 -
【2021】哈工大操作系统课程-实验1:修改bootsetc和setup显示
1 修改msg1之后,不同的cx长度会显示不同的启动文字原创 2021-03-14 01:09:19 · 338 阅读 · 0 评论 -
《现代操作系统:原理与实现》chcore 课程实验 陈海波 2021-10-26
1 ChCore课程实验代码及说明附件为ChCore课程实验的代码及说明,请首先阅读压缩包内的chcore-git.md。https://www.cnmooc.org/study/unit/522947.mooc实验代码:https://gitee.com/ipads-lab/chcore-lab课程教材:https://ipads.se.sjtu.edu.cn/mospi/EduCoder网站:https://data.educoder.net/paths/26652 Ubuntu Docke原创 2021-10-26 21:40:49 · 5162 阅读 · 0 评论 -
汇编寄存器,mov指令 2021-3-13
8086 CPU 中寄存器总共为 14 个,且均为 16 位 。即 AX,BX,CX,DX,SP,BP,SI,DI,IP,FLAG,CS,DS,SS,ES 共 14 个。而这 14 个寄存器按照一定方式又分为了通用寄存器,控制寄存器和段寄存器。通用寄存器:AX,BX,CX,DX 称作为数据寄存器:AX (Accumulator):累加寄存器,也称之为累加器;BX (Base):基地址寄存器;CX (Count):计数器寄存器;DX (Data):数据寄存器;SP 和 BP 又称作为指针寄原创 2021-03-13 23:17:33 · 1309 阅读 · 1 评论 -
win10 win+空格切换输入法;win10删除微软输入法2021-5-5
1,添加英文语言2,删除自带微软输入法3,按住WIN+ 空格即可切换中英输入法原创 2021-05-05 15:06:35 · 4178 阅读 · 0 评论 -
【2021】哈工大李治军操作系统课程-2021Ubuntu实验环境搭建 Step0
1,实际生效参考文章https://gitee.com/hwfellow/oslab2,bochs同时参考设置https://www.lanqiao.cn/courses/115/learning/?id=3742.1 【其他安装参考】哈工大李治军操作系统课程实验环境搭建https://blog.youkuaiyun.com/zy010101/article/details/1080851923 实验参考手册 gitbookhttps://hoverwinter.gitbooks.io/hit-oslab原创 2021-03-13 02:01:35 · 1004 阅读 · 1 评论 -
VS code 打造 shell脚本 IDE
1 VS code 打造 shell脚本 IDE近期多了些开发shell脚本的需求,便做了些研究,于是发现:1、shell没有专用的IDE2、老手们习惯了vim的开发方式,干起活来非常黑客。但对新人,不太友好既然没有现成的,那就用插件组一套,软件依然是vscode。1、shellman说起IDE,第一时间想到的必然是智能提示和自动补全,shellman全部搞定下载后,新建test.bash文件,输入case,可见如下结果:选中提示中的第一个,然后就获得了if全家桶:由上面两张图可见shel原创 2021-04-09 21:39:47 · 1588 阅读 · 1 评论 -
shell实例手册 2021-4-10
shell实例手册0说明{ 手册制作: 雪松 更新日期: 2013-12-06 欢迎系统运维加入Q群: 198173206 请使用"notepad++"打开此文档,"alt+0"将函数折叠后方便查阅 请勿删除信息,转载请说明出处,抵制不道德行为。 错误在所难免,还望指正! # shell实例手册最新下载地址: http://hi.baidu.com/quanzhou722/item/f4a4f3c9eb37f02d46d5c0原创 2021-04-10 22:14:05 · 1905 阅读 · 0 评论 -
linux-shell常用命令合集2021-4-10
文章目录1 shell rm 重命名 删除文件或文件夹1 shell rm 重命名 删除文件或文件夹常用参数格式:rm file删除文件file,系统会先询问是否删除。格式:rm -f file强行删除file,系统不再提示。格式:rm -r dir删除目录dir下的所有文件、子目录下的所有文件和目录、删除dir本身,系统会先询问是否删除。格式:rm -rf dir强行删除目录dir下的所有文件、子目录下的所有文件和目录、删除dir本身。格式:rm -f .LOG删除日志文件。h原创 2021-04-10 20:16:42 · 449 阅读 · 0 评论 -
sizeof()计算结构体的大小-C语言2020-11-26
简要说明:结构体成员按照定义时的顺序依次存储在连续的内存空间,但是结构体的大小并不是简单的把所有成员大小相加,而是遵循一定的规则,需要考虑到系统在存储结构体变量时的地址对齐问题。1,基本变量数值和空结构体的大小(0)1.1、没有成员的结构体占用的空间是多少个字节? 答案:0字节#include <stdio.h>#include <stdlib.h>struct { }stru_empty;int main(){ printf(".原创 2020-11-26 17:15:03 · 1545 阅读 · 0 评论 -
C语言链表【带源程序,可直接运行】2020-11-25
1,静态链表#include <stdio.h>struct LinkNode{ int data; struct LinkNode *next;};void test(){ struct LinkNode node1 = {10,NULL}; struct LinkNode node2 = {20,NULL}; struct LinkNode node3 = {30,NULL}; struct LinkNode node4 = {40原创 2020-11-25 20:32:55 · 198 阅读 · 0 评论 -
14蜂鸣器BEEP实验 2020-11-24
14蜂鸣器BEEP实验 2020-11-24目录14蜂鸣器BEEP实验 2020-11-24 11、硬件电路。PNP三极管控制 11.1、 SNVS_TAMPER1参考手册,MUX复用功能设置。当前接口只有GPIO可用 21.2、 IO口的电气属性设置。PAD=0x10b0=1000 0000 1011 0000(B) 21.2.1、磁滞bit16=0;15-12:1000,即100k欧的上拉,禁止拉/保持功能 31.2.2、11-0:0000 1011 0000。开漏输出,10原创 2020-11-25 01:09:00 · 699 阅读 · 0 评论 -
C语言二级指针(指向指针的指针)2020-11-24
指针可以指向一份普通类型的数据,例如 int、double、char 等,也可以指向一份指针类型的数据,例如 int *、double *、char * 等。如果一个指针指向的是另外一个指针,我们就称它为二级指针,或者指向指针的指针。假设有一个 int 类型的变量 a,p1是指向 a 的指针变量,p2 又是指向 p1 的指针变量,它们的关系如下图所示:将这种关系转换为C语言代码:int a =100; int *p1 = &a; int **p2 = &p1;指针变.原创 2020-11-24 14:12:15 · 296 阅读 · 0 评论 -
C 语言中 static 的作用 2020-11-22
目录C 语言中 static 的作用分类编程技术(1)先来介绍它的第一条也是最重要的一条:隐藏。a.c 文件代码main.c 文件代码(2)static 的第二个作用是保持变量内容的持久。实例(3)static 的第三个作用是默认初始化为 0。实例C 语言中 static 的作用分类编程技术在 C 语言中,static 的字面意思很容易把我们导入歧途,其实它的作用有三条。(1)先来介绍它的第一条也是最重要的一条:隐藏。当我们同时编译多个文件时...原创 2020-11-22 18:24:22 · 252 阅读 · 0 评论 -
arm-linux-gcc 常用参数讲解 gcc编译器使用方法,可搭配前面一篇文章一起看 【转载】2020-11-22
arm-linux-gcc 常用参数讲解 gcc编译器使用方法我们需要编译出运行在ARM平台上的代码,所使用的交叉编译器为arm-linux-gcc。下面将arm-linux-gcc编译工具的一些常用命令参数介绍给大家。在此之前首先介绍下编译器的工作过程,在使用GCC编译程序时,编译过程分为四个阶段:1. 预处理(Pre-Processing)2. 编译(Compiling)3. 汇编(Assembling)4. 链接(Linking)Linux程序员可以根据自己的需要让 GCC在编译的任.原创 2020-11-22 00:31:06 · 700 阅读 · 1 评论 -
arm-linux-gnueabihf-gcc -Wall -nostdlib -c -O2 -o start.o start.s 什么意思? 2020-11-21
目录1、arm-linux-gnueabihf-gcc -Wall -nostdlib -c -O2 -o start.o start.sWall:【Warning all】-O0:【Optimize 优化】-nostdlib:【No Standard Library 】2、参考链接2.1Makefile中的-Wall -O2 -Os -g等选项介绍2.2gcc – g,静态初始化和-nostdlib2.3编译时“-nostdlib”的使用2.4使用GNU编译...原创 2020-11-21 21:54:01 · 1036 阅读 · 0 评论 -
#define GPIOA ((GPIO_TypeDef *) GPIOA_BASE)【强制地址指针类型转】typedef vs #define区别 2020-11-21
目录1,#define GPIOA ((GPIO_TypeDef *) GPIOA_BASE) 什么意思?2,Ctypedef的格式和与#define区别2.1 typedef格式typedef unsigned char BYTE;实例2.2 typedef vs #define区别实例1,#define GPIOA ((GPIO_TypeDef *) GPIOA_BASE) 什么意思?((GPIO_TypeDef *) GPIOA_BASE)表示将GPIOA...原创 2020-11-21 13:03:36 · 6535 阅读 · 0 评论 -
IMX6ULL链接脚本注释记录 2020-11-21
目录1,原代码注释2,参考资料2.1正点原子视频2.2ld链接脚本语法简介2.3Linux下的lds链接脚本详解1,原代码注释SECTIONS{ . = 0X87800000; /*“.”在链接脚本里面叫做定位计数器,要求代码链接到以 0X87800000为起始地址的地方*/ /* “.text”是段名,后面的冒号是语法要求,冒号后面的大括号里面可以填上要链接到“.text”这个段里面的所有文件, * “*(.text)”中的“*”是通配符,表示所有..原创 2020-11-21 12:23:23 · 505 阅读 · 0 评论 -
C语言中EOF是什么意思? linux 【转载】 2020-11-19
C语言中EOF是什么意思?(1)EOF是end of file的缩写,表示"文字流"(stream)的结尾。这里的"文字流",可以是文件(file),也可以是标准输入(stdin)。该宏定义在stdio.h中。(2)EOF不是特殊字符,而是一个定义在头文件stdio.h的常量,一般等于-1。#define EOF (-1)(3)除了表示文件结尾,EOF还可以表示标准输入的结尾。但是,标准输入与文件不一样,无法事先知道输入的长度,必须手动输入一个字符,表示到达EOF。(4)在Linux系统之中,EOF原创 2020-11-19 14:59:54 · 534 阅读 · 0 评论 -
ARM汇编指令总结--英文全称及功能描述 【转载】2020-11-18
一、什么是指令集在计算机的世界里,CPU只能识别二进制的机器码,对于一个32位ARMv7架构来说,每一个指令由32个0或1的组合组成,CPU的设计者会指定一组固定的组合格式,告诉CPU完成什么动作,这组固定格式的0或1的组合就是指令集。对于程序员来说,阅读二进制的机器码是一个相当大的挑战,为了便于编写程序,最早的汇编语言就诞生了,比如ADD R0,R1,R2这句话的的作用是寄存器R1、R2里的值求和后,存储到R0里面。汇编语言通过编译器的编译,转换成CPU能够识别的二进制机器码。二、ARM指原创 2020-11-18 21:14:11 · 1490 阅读 · 0 评论 -
2020-11-18 X86-64指令的执行基本阶段 取指、译码、执行、访存、写回、更新PC
1,指令的执行基本阶段 取指、译码、执行、访存、写回、更新PC原创 2020-11-18 10:45:29 · 3083 阅读 · 0 评论 -
2020-11-18 C关键字volatile总结;*((volatile unsigned int *)0X020C4068)什么含义?
做嵌入式C开发的相信都使用过一个关键字volatile,特别是做底层开发的。假设一个GPIO的数据寄存器地址是0x50000004,我们一般会定义一个这样的宏:#define GDATA *((volatile unsigned int*)0x50000004)在面试的时候也会被问到过volatile关键字起什么作用?网络上的回答一般是防止被编译器优化,或者还会加一点就是访问被volatile修饰的变量时,强制访问内存中的值,而不是缓存中的。我对上面的回答一直存在误解,以为是:...转载 2020-11-18 00:31:06 · 2141 阅读 · 0 评论 -
2020-11-17 1)C标准库头文件 2)C ++标准库标头
1.C标准库头文件https://en.cppreference.com/w/c/headerC标准库的接口由以下标头集合定义。<assert.h> 有条件编译的宏,将其参数与零进行比较 <complex.h>(C99) 复数算法 <ctype.h> 确定字符数据中包含的类型的函数 <errno.h> 宏报告错误情况 <fenv.h>(C99) 浮点环境 <fl...原创 2020-11-17 22:20:02 · 658 阅读 · 0 评论 -
【STM32+FPGA+USART+SPI】32,UART,SPI 2019年01月15日
1,使用UART4作为与FPGA的通信接口,PD1,PD0内部与FPGA连接。UART4采用中断接收,DMA+IDEL目前会接收不了。 //HAL_UART_Receive_IT(&huart4,(unsigned char *)&UART4_Rx_OneBit,1);//只要初始化配置时候开启一次就好,不需要再次开启HAL_UART_Transmit(&h...原创 2020-11-17 21:27:23 · 464 阅读 · 0 评论 -
【STM32CubeMX 18】完整配置过程。RCC,USART1,DAC,ADC,I2C, 2019年01月12日
1,首先配置时钟RCC2,USART1配置2-1,printf函数的重定向,在【usart.c】内部/* 在usart.c内修改*/#include "usart.h"#include "gpio.h"#include "dma.h"/* USER CODE BEGIN 0 *//*---1-1---串口接收初始化放置在HAL_UART_M...原创 2020-11-17 21:26:09 · 533 阅读 · 0 评论 -
【STM32+W5500+MQTT+ONENET】27,MQTT协议接入OneNET实际编程操作 2018年12月27日
0.先汇总,再逐步介绍各个部分的问题。打开socket(SOCK_TCPC,Sn_MR_TCP,local_port++,Sn_MR_ND);》》 /*socket连接服务器*/connect(SOCK_TCPC,onenet_server_ip,onenet_server_port);》》ONENET device link 设备连接 OneNet_DevLink();接...原创 2020-11-17 21:25:33 · 889 阅读 · 1 评论 -
【STM32+W5500+HTTPClient】25,路由器DHCP租赁IP时间为2h,NetBios可以很好的解决IP变化的问题,DNS,2018年12月25日
1,在连接ONENET平台时候,当使用默认IP时候,如果默认IP与路由器的IP不在一个分段里面,则会导致连接服务器失败。2,使用DHCP连接ONENET的时候,则不用考虑路由器的IP了,因为DHCP动态获取的IP地址和路由器的必定在同一个IP分段里面。do_dhcp()一定要放置在while(1)中 while(1) /*循环执行的函数*/ ...原创 2020-11-17 21:25:01 · 606 阅读 · 0 评论 -
2020-11-17 C语言的历史
C语言的历史[编辑]维基百科,自由的百科全书(重定向自C2x)跳到导航跳到搜索本文记述了C语言自19世纪70年代至今的历史及发展。目录1早期发展 2K&R C 3ANSI C 和 ISO C 4C99 5C11 6C18 7C2x 8参考资料早期发展[编辑]肯·汤普逊和丹尼斯·里奇,是C编程语言的开发者.C语言最早由丹尼斯·里奇(Dennis Ritchie)为了在PDP-11电脑上运行的Unix系统所设计出来的编程语言,第一次发展在1...原创 2020-11-17 15:25:53 · 379 阅读 · 0 评论 -
2020-11-17 \r与\n有何区别,全称,编码的时候应该如何使用【转载】
区别:\r: 全称:carriage return (carriage是“字车”的意思,打印机上的一个部件) 简称:return 缩写:r ASCII码:13 作用:把光标移动到当前行的最左边 \n: 全称:new line 别名:line feed 缩写:n ASCII码:10 作用:把光标向下移动一行 不同操作系统怎样表示“回车+换行”(即一行的结束):Unix、Linux:\n表示回车+换行,\r没什么意义 Windows、...原创 2020-11-17 11:39:39 · 287 阅读 · 0 评论 -
2020-11-15 imx6ull开发板的启动方式【转载】
https://blog.youkuaiyun.com/thisway_diy/article/details/108514151?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-4.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-4.chan转载 2020-11-15 16:58:22 · 506 阅读 · 0 评论 -
2020-11-13 (PS:分享书单了)双非的我是如何拿到字节跳动SP以及华为百度等公司的offeer的? 【转载hupu】
https://bbs.hupu.com/39048828.html?is_reflow=1第四十刃大人(38级)楼主2020-11-07 10:00举报只看此人收藏本帖楼主 (PS:分享书单了)双非的我是如何拿到字节跳动SP以及华为百度等公司的offeer的?由 第四十刃大人发表在虎扑步行街·步行街主干道https://bbs.hupu.com/bxj 前言 个人很喜欢虎扑,也算是个老jr了,最早知道虎扑还是在11年雷霆VS热火、热火VS步行...转载 2020-11-13 21:04:39 · 893 阅读 · 1 评论 -
2020-11-12 ARM交叉编译器GNUEABI、NONE-EABI、ARM-EABI、GNUEABIHF全称等的区别
ARM交叉编译器GNUEABI、NONE-EABI、ARM-EABI、GNUEABIHF等的区别博客来之于: http://www.veryarm.com/296.htmlhttps://www.cnblogs.com/LoTGu/p/6075868.htmlgnueabihf:gnu+eabi(EABI:嵌入式二进制应用程序接口(Embedded Application Binary Interface (ABI) for the ARM Architecture)。)+hf(hard +f.原创 2020-11-12 23:39:48 · 1109 阅读 · 0 评论 -
2020-11-10 汇编LED驱动实验【正点原子】
目录1、汇编原理分析。 亮灯流程参考STM322、读IMX6ULL的参考手册目录,找到时钟控制单元,使能时钟2-1,先读目录,找到对应控制charter182-2,CCM_CCGR0——CCM_CCGR6总共7个寄存器,每个寄存器占4位,连续排列。3、设置 GPIO1_IO03 的复用功能。(MUX是设置IO口的功能类型)4、配置GPIO的电气属性。还是在参考手册的charter324-2、GPIO电气属性详细介绍。设置的重点是压摆率(SRE),速度(SPEED),驱动能力(..原创 2020-11-11 01:10:36 · 433 阅读 · 0 评论 -
2020-11-10 汇编指令LDR全称,STR全称,MOV等
1、LDRLD=LoaD(加载)R=Register(寄存器) ;STR ST=STore(存储)R=Register(寄存器)https://zhidao.baidu.com/question/381927727.html2,MRS MoveRegisterSpecial原创 2020-11-10 00:51:57 · 3583 阅读 · 2 评论 -
2020-11-5 Linux 用户必须知道的 14 个常用 Linux 终端快捷键
Linux 用户必须知道的 14 个常用 Linux 终端快捷键简介:以下是一些每个 Linux 用户必须使用的键盘快捷键。 使用命令行时,这些 Linux 快捷键将提升你的工作效率和效率。你知道什么把专业用户和普通用户分开的吗?掌握键盘快捷键。好的!这虽不是唯一的要素,但毋庸置疑是一个因素。不论你使用什么工具,快捷键都能帮助你提高生产力和效率。 考虑一下。如果有人完全使用鼠标来复制整个文本而不是 Ctrl+A,你会怎么想?Linux 终端也不例外。这里是一些每个用户必须直到并练习的 L原创 2020-11-05 00:19:38 · 242 阅读 · 0 评论 -
2020-11-4 【正点原子】Linux--Ubuntu入门篇(Ubuntu下压缩与解压缩)
https://www.bilibili.com/video/BV1vE411h7Fi?p=10一、Linux下常用得压缩格式Linux下常用得压缩格式扩展名有:.tar、.tar.bz2、.tar.gz二、Windows下7-zip软件的安装因为Linux下很多文件时.bz2, .gz结尾的压缩文件,因此需要再windows下安装7zip软件。windows下创建一个test文件夹,里面创个test.txt文档。 然后用7-zip软件对test文件夹压缩(添加到压缩包,“压缩格式:ta原创 2020-11-04 00:39:21 · 690 阅读 · 0 评论 -
2020-11-2 linux常见命令cd
1,Linux cd(英文全拼:change directory)命令用于切换当前工作目录。其中 dirName 表示法可为绝对路径或相对路径。若目录名称省略,则变换至使用者的 home 目录 (也就是刚 login 时所在的目录)。另外,~也表示为 home 目录 的意思,.则是表示目前所在的目录,..则表示目前目录位置的上一层目录。2,mnt:mount:安装,挂载Linux mount命令是经常会使用到的命令,它用于挂载Linux系统外的文件。3,etc不是什么缩写,是a...原创 2020-11-02 00:17:21 · 255 阅读 · 0 评论