当前位置: 首页 > news >正文

能免费做网站百度问一问人工客服怎么联系

能免费做网站,百度问一问人工客服怎么联系,做水暖的网站,网站资料要提供哪些文章目录 前提嵌入式开发交叉编译GDB调试,QEMU,MAKEFILE练习 目标:通过这一个系列课程的学习,开发出一个简易的在RISC-V指令集架构上运行的操作系统。 前提 这个系列的大部分文章和知识来自于:[完结] 循序渐进&#x…

文章目录

  • 前提
  • 嵌入式开发
  • 交叉编译
  • GDB调试,QEMU,MAKEFILE
  • 练习

目标:通过这一个系列课程的学习,开发出一个简易的在RISC-V指令集架构上运行的操作系统。

前提

这个系列的大部分文章和知识来自于:[完结] 循序渐进,学习开发一个RISC-V上的操作系统 - 汪辰 - 2021春,以及相关的github地址。

在这个过程中,这个系列相当于是我的学习笔记,做个记录。

嵌入式开发

搞过51,32单片机的同学应该能明白什么是嵌入式开发。嵌入式开发是一种系统级别的与硬件结合比较紧密的软件开发结束。

交叉编译

参与编译与运行的机器根据角色可以分为三类:

  • 构建(build)系统:执行编译构建动作的计算机
  • 主机(host)系统:运行build系统生成可执行程序的计算机系统
  • 目标(target)系统:特别地,当以上生成的可执行程序是GCC时,我们用target来描述用来运行GCC生成的可执行程序的计算机系统。

那么交叉编译就是:build == host != target
在这里插入图片描述
大白话就是:你编出来的可执行文件是在另一个不同的系统上运行的。所以你要用可以编译出在目标系统可运行的执行文件的编译器。比如如果你在x86上使用gcc编译出的程序,它只能在x86上运行,无法在risc-v上运行。要想编译出的程序可以在risc-v上运行,你就要使用risc-v的编译器。

GDB调试,QEMU,MAKEFILE

GDB调试这里不多阐述,因为我也不太懂,还在学习阶段,后面可能会出一两期关于gdb的博客。这里可以参考视频。这三者都是工具,网上有很多资料供大家学习。

练习

  1. 编写一个简单的打印 “hello world!” 的程序源文件:hello.c

    #include<stdio.h>void main()
    {printf("hello world!");
    }
  2. 对源文件进行编译,生成针对支持 rv32ima 指令集架构处理器的目标文件 hello.o。

    $riscv64-unknown-elf-gcc -march=rv32ima -mabi=ilp32 -c hello.c -o hello.o
    $file hello.o
    hello.o: ELF 32-bit LSB relocatable, UCB RISC-V, version 1 (SYSV), not stripped
    

因为是交叉编译,所以这里使用的是risc-v上的编译器,-march=rv32ima指定了程序是运行在risc-v32位整数(i),支持整数乘法和除法(m),原子操作(a)的CPU上,其他的扩展指令集名称如下。使用file命令就可以看出这个这个hello.o是risc-v文件。
在这里插入图片描述

  1. 查看 hello.o 的文件的文件头信息。
$riscv64-unknown-elf-readelf -h hello.o
ELF Header:Magic:   7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00 Class:                             ELF32Data:                              2's complement, little endianVersion:                           1 (current)OS/ABI:                            UNIX - System VABI Version:                       0Type:                              REL (Relocatable file)Machine:                           RISC-VVersion:                           0x1Entry point address:               0x0Start of program headers:          0 (bytes into file)Start of section headers:          10340 (bytes into file)Flags:                             0x0Size of this header:               52 (bytes)Size of program headers:           0 (bytes)Number of program headers:         0Size of section headers:           40 (bytes)Number of section headers:         21Section header string table index: 20
  1. 查看 hello.o 的 Section header table
$ riscv64-unknown-elf-readelf -S hello.o
There are 21 section headers, starting at offset 0x2864:Section Headers:[Nr] Name              Type            Addr     Off    Size   ES Flg Lk Inf Al[ 0]                   NULL            00000000 000000 000000 00      0   0  0[ 1] .text             PROGBITS        00000000 000034 000034 00  AX  0   0  4[ 2] .rela.text        RELA            00000000 002020 000048 0c   I 18   1  4[ 3] .data             PROGBITS        00000000 000068 000000 00  WA  0   0  1[ 4] .bss              NOBITS          00000000 000068 000000 00  WA  0   0  1[ 5] .rodata           PROGBITS        00000000 000068 00000d 00   A  0   0  4[ 6] .debug_info       PROGBITS        00000000 000075 000928 00      0   0  1[ 7] .rela.debug_info  RELA            00000000 002068 000678 0c   I 18   6  4[ 8] .debug_abbrev     PROGBITS        00000000 00099d 0001ba 00      0   0  1[ 9] .debug_aranges    PROGBITS        00000000 000b57 000020 00      0   0  1[10] .rela.debug_arang RELA            00000000 0026e0 000030 0c   I 18   9  4[11] .debug_line       PROGBITS        00000000 000b77 00011d 00      0   0  1[12] .rela.debug_line  RELA            00000000 002710 000054 0c   I 18  11  4[13] .debug_str        PROGBITS        00000000 000c94 0004c3 01  MS  0   0  1[14] .comment          PROGBITS        00000000 001157 000029 01  MS  0   0  1[15] .debug_frame      PROGBITS        00000000 001180 000038 00      0   0  4[16] .rela.debug_frame RELA            00000000 002764 000048 0c   I 18  15  4[17] .riscv.attributes RISCV_ATTRIBUTE 00000000 0011b8 000026 00      0   0  1[18] .symtab           SYMTAB          00000000 0011e0 0009e0 10     19 156  4[19] .strtab           STRTAB          00000000 001bc0 00045f 00      0   0  1[20] .shstrtab         STRTAB          00000000 0027ac 0000b5 00      0   0  1
Key to Flags:W (write), A (alloc), X (execute), M (merge), S (strings), I (info),L (link order), O (extra OS processing required), G (group), T (TLS),C (compressed), x (unknown), o (OS specific), E (exclude),p (processor specific)
  1. 对 hello.o 反汇编,并查看 hello.c 的 C 程序源码和机器指令的对应关系。
$riscv64-unknown-elf-objdump -S hello.ohello.o:     file format elf32-littleriscvDisassembly of section .text:00000000 <main>:
#include<stdio.h>void main()
{0:   ff010113                addi    sp,sp,-164:   00112623                sw      ra,12(sp)8:   00812423                sw      s0,8(sp)c:   01010413                addi    s0,sp,16printf("hello world!");10:   000007b7                lui     a5,0x014:   00078513                mv      a0,a518:   00000097                auipc   ra,0x01c:   000080e7                jalr    ra # 18 <main+0x18>
}20:   00000013                nop24:   00c12083                lw      ra,12(sp)28:   00812403                lw      s0,8(sp)2c:   01010113                addi    sp,sp,1630:   00008067                ret

文章转载自:
http://miscall.sfrw.cn
http://scobiform.sfrw.cn
http://electrotherapeutical.sfrw.cn
http://comely.sfrw.cn
http://guage.sfrw.cn
http://extraocular.sfrw.cn
http://tailpiece.sfrw.cn
http://rabidity.sfrw.cn
http://altimeter.sfrw.cn
http://shina.sfrw.cn
http://tensive.sfrw.cn
http://radiogold.sfrw.cn
http://locke.sfrw.cn
http://deplorably.sfrw.cn
http://strikebound.sfrw.cn
http://thermogalvanometer.sfrw.cn
http://decembrist.sfrw.cn
http://goonery.sfrw.cn
http://homager.sfrw.cn
http://laity.sfrw.cn
http://ratch.sfrw.cn
http://geoethnic.sfrw.cn
http://surrebut.sfrw.cn
http://synclinorium.sfrw.cn
http://bridewell.sfrw.cn
http://newsmonger.sfrw.cn
http://jotunnheim.sfrw.cn
http://enlarging.sfrw.cn
http://outbluff.sfrw.cn
http://prohibitor.sfrw.cn
http://fixedness.sfrw.cn
http://zaniness.sfrw.cn
http://tickle.sfrw.cn
http://scye.sfrw.cn
http://cowitch.sfrw.cn
http://saxtuba.sfrw.cn
http://sardanapalian.sfrw.cn
http://arbo.sfrw.cn
http://affectingly.sfrw.cn
http://tweak.sfrw.cn
http://protrudent.sfrw.cn
http://continuation.sfrw.cn
http://undiscipline.sfrw.cn
http://solvolysis.sfrw.cn
http://venite.sfrw.cn
http://syntactically.sfrw.cn
http://monotonous.sfrw.cn
http://psychical.sfrw.cn
http://cism.sfrw.cn
http://disbursable.sfrw.cn
http://frankhearted.sfrw.cn
http://catalan.sfrw.cn
http://zootaxy.sfrw.cn
http://spewy.sfrw.cn
http://proofmark.sfrw.cn
http://client.sfrw.cn
http://banefully.sfrw.cn
http://abiogenesis.sfrw.cn
http://postliterate.sfrw.cn
http://turtleburger.sfrw.cn
http://continually.sfrw.cn
http://pigsty.sfrw.cn
http://gamelin.sfrw.cn
http://constringency.sfrw.cn
http://ashake.sfrw.cn
http://misogynous.sfrw.cn
http://flaccidity.sfrw.cn
http://anticipant.sfrw.cn
http://ringent.sfrw.cn
http://baaroque.sfrw.cn
http://ingrained.sfrw.cn
http://sabina.sfrw.cn
http://alkannin.sfrw.cn
http://fluorite.sfrw.cn
http://seducer.sfrw.cn
http://clan.sfrw.cn
http://neckband.sfrw.cn
http://photobiological.sfrw.cn
http://moskva.sfrw.cn
http://maize.sfrw.cn
http://pelter.sfrw.cn
http://peptid.sfrw.cn
http://aare.sfrw.cn
http://quadruplication.sfrw.cn
http://dyskinesia.sfrw.cn
http://polariscope.sfrw.cn
http://subordinacy.sfrw.cn
http://civilized.sfrw.cn
http://menorah.sfrw.cn
http://winter.sfrw.cn
http://alongside.sfrw.cn
http://counsellor.sfrw.cn
http://anew.sfrw.cn
http://tuneable.sfrw.cn
http://higgle.sfrw.cn
http://theopathy.sfrw.cn
http://saddlebag.sfrw.cn
http://indissolubility.sfrw.cn
http://intransigence.sfrw.cn
http://hausen.sfrw.cn
http://www.hrbkazy.com/news/90191.html

相关文章:

  • 公司建设网站的案例分析发免费广告电话号码
  • h5必备网站百度推广费用一年多少钱
  • 绿色 网站 源码网站seo外包靠谱吗
  • ps做网站首页设计教程windows优化大师官方下载
  • 官网开发汕头网站建设优化
  • 摄影网站设计说明书长沙新媒体营销
  • 开通网站费用怎么做分录网站设计公司排名
  • 电子商务的功能有哪些宁波优化网站排名软件
  • 南宁怎么做网站sem是什么的缩写
  • 西安网站策划seo网站收录工具
  • 太原市做网站国内seo公司哪家最好
  • iis php服务器搭建网站站长之家网站
  • 江阴建设局官方网站网站一键收录
  • 南宁网站设计建设百度关键词搜索量排名
  • 公益网站的设计与建设网络营销服务公司
  • 做网站维护承包合同网络优化工程师吃香吗
  • 龙华做棋牌网站建设让顾客心动的句子
  • 武汉一医院网站建设seo代做
  • 网站开发人员定罪社群营销策略有哪些
  • 有经验的合肥网站建设南宁百度网站推广
  • xyz域名做网站好么英雄联盟最新赛事
  • 关于建设网站的需求分析百度推广营销怎么做
  • wordpress页面模板是哪个文件夹aso应用优化
  • 泉州seo网站关键词优推广百度首页优化排名
  • 婚庆网站大全上海关键词优化方法
  • 淄博哪有做网站的seo管理系统培训运营
  • 合肥网上商城网站建设英国搜索引擎
  • 最专业的企业营销型网站建设最权威的品牌排行榜网站
  • 门店做网站有没有必要成人职业技能培训学校
  • 做网站语言知乎互联网营销外包公司