Linux征途——开发工具(上)

-----------博文目录 ----------

1、yum软件包管理器

2、vim文本编辑器

3、大佬们都喜欢的编辑器

4、gcc编译器

5、Makefile

6、gdb调试工具

7、项目版本控制工具


  • 1、yum软件包管理器:读法 /亚姆/

  1.     yum list                  查看可以安装的软件包     | grep ** 进行筛选查看                    
  2.     yum install             安装软件包     这个命令也可以进行软件升级处理
  3.     yum remove          移除软件包    

例如:
查看可以安装的软件包:

安装 g++


升级处理

  • 2、vim文本编辑器

    对文本的操作: 插入数据 保存 删除 复制 粘贴 剪切 滚动显示位置 改变输入位置
    vim 为了能够实现所有的操作,因此有很多的模式(十二种),每个模式下所完成的功能各有不同
    常用:插入模式,普通模式,底行模式
 

  •     普通模式下的操作

    1、移动光标
             k 上 j 下 h 左 l 右(方向键亦可以)
             w b 单词左右移动
             ctrl f / b 上下翻页
             gg  行首 / 行尾 G                gg=G全文对齐
    2、复制
           yy    复制光标所在行
           n + yy 复制 n 行数据
    3、粘贴
           p    光标下行粘贴
    4、剪切
           s    剪切光标所在字符并进入插入模式
           dd    剪切光标所在行
           dw    剪切光标所在单词
    5、撤销
           u
    6、选择
           v 加方向键进行选择
           数据交互    CTRL + s 与虚拟机退出交互  CTRL + o 继续交互
   7、匹配
           / + 匹配的字符串

  • 3、大佬们都喜欢的编辑器,下面列举一下除vim以外的编辑器

编辑器对比
名称特点不足

Eclipse

1、从编写、查错、编译、帮助等等各方面为Java语言贴身定做。
2、可无限扩展的强大插件功能。
3、众多公司、厂商、组织的鼎立支持。
4、开放,自由,免费。

1、大工程时,吃内存耗cpu,依然会出现很慢、卡顿、奔溃和无响应的情况

2、插件对eclipse版本要求比较严格,插件更新速度跟不上eclipse更新速度

3、安装插件过多之后,速度变慢,有些插件安装比较麻烦

Emacs

1、Emacs是伪装成编辑器的操作系统。可以用来收发电子邮件、通过FTP/TRAMP编辑远程档案、登陆IRC和朋友交流、查看日历等功能,

2、它也是一个巨大的开放社区,在这里你能结识到更酷一些的程序员。

1、智能感知和补全不足

2、插件不完善和不友善

vim

1、VIM是纯粹的自由软件

2、无数种插件,自己选择

1、内置脚本语言有局限性

Brackets

1、1.可以实时预览

2、可以快速编辑,在HTML可以编辑CSS和JS代码。

暂无

Light Table

1、实时运行反馈,调试和搜索文档的功能

2、及时反馈功能提供了一个不同寻常的运行环境来让程序员构建抽象。

暂无
Sublime Text 3

1、具有漂亮的用户界面和强大的功能

2、可自定义键绑定,菜单和工具栏

3、跨平台

暂无

Sed

1、简化对文件的反复操作,编写转换程序

1、编辑效率低下
  • 4、gcc编译器

  • 作用:将高级语言代码编译成机器可识别的指令代码
  • 编译步骤:

            1、预处理 :展开代码
            2、编译 :将高级语言代码编译成汇编代码
            3、汇编 :将汇编代码编译成机器指令
            4、链接 :执行程序,所有调用的文件合在一起执行。
                        静态链接:直接拷贝代码
                        动态链接:生成链接地址
            5、库 :保存实现函数代码的文件(后面介绍)
                    1)静态库 :生成可执行程序,链接静态库称为静态链接 ,  后缀是 .a
                        直接将库文件的代码拷贝到可执行程序中,代码冗余量大,占用资源多,对库的依赖程度低
                    2)动态库 :生成可执行程序,链接动态库称为动态链接 ,后缀是 .so
                        只记录动态库的位置符号信息,代码冗余量小,占用资源少,对库的依赖程度高
                        gcc默认链接动态库

名称作用例子
gcc -E只进行预处理gcc -E test.c -o test.i
gcc -S只进行编译gcc -S test.i -o test.s
gcc -c只进行汇编  gcc -C test.s -o test.o
 gcc -o指定生成文件名称gcc test.o -o test

          gcc 默认生成二进制文件
      一般我们都是gcc test.c -o test(c语言)或者 g++ test.cpp -o test(c++)直接搞定(不需要指定库的时候)

  • 5、Makefile

        作用:一个文本文件,记录项目的变异规则,辅助项目的自动化编译。但是有一个make命令,逐步执行makefile记录的编译规则
        命名:Makefile / makefile
                                        
        编写:
            make:只能编译一个目标对象,如果要编译多条,需要加入 ALL
                                        
            预定义变量: $@ 目标对象 $^ 所有的依赖对象  $<  所有依赖对象的第一个
            编写规则必须是制表符开始[tab]

        执行过程:make程序在当前工作目录下找makefile文件
                1.到当前目录下查找makefile文件,找不到报错
                2.到文件找到第一个目标对象,并把这个对象当作终极目标
                3.检测这和目标对象和依赖关系的最后一次修改时间,判断是否需要重新编译,如果修改时间一样则不需要重新编译,直接退出
                4.如果目标对象不存在则直接生成,但依赖对象可能不存在
                5.为了生成终极目标,首先要保证依赖都存在,所以会先去生成所有依赖对象(依赖对象生成的依赖关系二十用户在下边定义的)

也可以这样写:

声明伪对象 :.0PHONY
    伪对象 :每次都需要重新生成新的main

  • 6、gdb调试工具

    1、添加调试符号信息    

        gcc -g

    2、打开gdb环境

  1. 直接gdb打开环境,然后file+可执行文件
  2. 或者直接gdb + 可执行文件

    3、gdb调试命令
     1)显示源程序
          list:列出源程序,默认显示十行,多出的行多敲结果list命令
          list -:显示当前行之前的十行
          list n:从n行到第十行
          list start end:从第start行到end行
          show listsize:参看list显示的行数,
          set listsize:设置list显示的行数
    2)控制程序的执行
         break n:在第n行设置断点
         breadk main:在函数入口设置断点
         break main if i==10:在条件处设置断点
         info breakpoint(简写:info break):查看断点
         delete:清除所有断点
         delete n:删除n号断点
    3)程序的运行
         run:运行程序,执行到断点处
         next:单步执行,不进入函数内部:逐过程
         step:单步执行,进入函数内部:逐语句
         continue:从当前位置出发,执行到断点处
    4)查看运行是的数据
          print:显示表达式/变量的值
         print + 变量:
         print + 表达式
         print array[0]@n:显示第0个到第n个元素
         print array[n]:查看第 n 个元素
         print + 变量= 值:修改变量的值
         info display + 变量:监视,每次单步执行后会显示变量的变化
         delete display:删除监视
    5)显示函数调用堆栈信息
         backtrace(bt):显示堆栈信息
         where:显示堆栈信息
         up n:向上显示 n 层
         down n:向下显示n层    

  • 7、项目版本控制工具

  • git项目版本控制工具:分布式管理
  • suv项目管理控制工具:集中式管理

 

  • git 三板斧
  1.  git clone https-url      从GitHub上克隆代码到当前路径,这个步骤只用进行一次,在你的Linux里有该库名称的目录就行。
  2. git add file                  添加提交的文件
  3. git commit -m "***"    本地提交,***代表描述信息
  4.  git push                   上传代码,后面提示就是输入用户名和密码了

问题一:
*** Please tell me who you are.

Run

 git config --global user.email "you@example.com"

 git config --global user.name "Your Name"

to set your account's default identity.
Omit --global to set the identity only in this repository.
第一次会提交会出现上述问题,是因为没有初始化,或者说是没有绑定邮箱。这个时候只用git config --global user.email "xxx@xxx.com"引号里的邮箱改成自己的git上的邮箱就行了。类比第二个改成自己用户名也行。
问题二:
error: 无法推送一些引用到 'https://github.com/......
1)这个可能你当时在GitHub上删除了某些文件,这个时候你可以git pull合并后,按照提示输入描述信息,然后git push就行
2)git push -u origin +master​   强行提交试一试

        附加:    =     :=         ?=         +=    的区别
                       =    用的时候赋值
                      :=    及时赋值
                      ?=   空的就赋值
                      +=  追加赋值

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 《征途Pro FPGA Verilog开发实战指南——基于Altera EP4CE10》是一本针对FPGA(现场可编程逻辑门阵列)开发的实战指南。该书于2021年7月10日上市。 FPGA是一种可以通过编程实现任意逻辑电路的芯片。它具有灵活性和高性能的特点,广泛应用于数字电路设计、通信系统、图像处理等领域。而Verilog是一种硬件描述语言,可用于对FPGA进行编程。 本书以Altera EP4CE10为基础,介绍了FPGA开发的基本原理、Verilog语言的基础知识,并通过一系列实战项目的讲解,帮助读者逐步掌握FPGA的开发技巧。 在书籍中,读者将学习如何使用Quartus II开发环境搭建FPGA开发环境,进行项目的创建和工程的配置。同时,书中也介绍了FPGA的时序控制和时钟分配,以及常用的数字电路设计技术,如计数器、状态机、FIFO缓冲区等。 此外,书中还对FPGA的高级特性进行了介绍,如跨时钟域同步、低功耗设计等,使读者能够进一步提升项目的性能和效率。同时,书中还提供了大量的实例项目,如LED控制器、数码管显示、蜂鸣器驱动等,帮助读者将理论知识应用到实际开发中,加深对FPGA开发的理解。 总之,《征途Pro FPGA Verilog开发实战指南——基于Altera EP4CE10》是一本面向初学者和有一定基础的开发者的实战指南。通过学习这本书,读者将能够掌握FPGA开发的基本技能,并能够将其应用于各种实际项目中。 ### 回答2: 《FPGA Verilog开发实战指南——基于Altera EP4CE10》是一本教读者如何使用FPGA(现场可编程门阵列)和Verilog语言进行开发的实用指南。该书以Altera EP4CE10作为开发板,提供了一系列基于此开发板的实战项目示例,帮助读者逐步掌握FPGA开发的核心概念和技能。 书中内容主要分为以下几个方面。首先,作者介绍了FPGA和EP4CE10的基本知识,包括FPGA的结构、工作原理以及开发流程等。然后,作者详细讲解了Verilog语言的基础知识和语法,包括模块化设计、数据类型、运算符、流程控制等。读者可以通过这些内容了解如何使用Verilog语言进行FPGA开发,并掌握常用的编程技巧和调试方法。 接下来,作者通过一系列实战项目示例,引导读者逐步实践FPGA开发。这些示例项目涵盖了多个应用领域,如数字逻辑设计、时序电路设计、通信协议等。读者可以通过完成这些项目,逐步提高自己的FPGA开发能力,并了解如何将Verilog代码烧录到EP4CE10开发板中进行实际运行。 此外,在书的后半部分,作者还介绍了一些高级主题,如FPGA设计的性能优化、时序约束、时钟和复位等重要内容。读者通过学习这些高级主题,可以进一步提升自己在FPGA开发领域的技术水平,实现更加复杂和高性能的设计。 总体来说,《FPGA Verilog开发实战指南——基于Altera EP4CE10》是一本很实用的指南,适合希望学习FPGA开发和Verilog语言的读者。通过学习这本书,读者有机会系统地学习FPGA开发的基础知识和实践技巧,并能够进行一些简单的FPGA项目设计和开发。无论是初学者还是有一定经验的开发者,都可以从中获得很大的收益。 ### 回答3: 征途Pro《FPGA Verilog开发实战指南——基于Altera EP4CE10》是一本关于FPGA开发的实战指南。在2021年7月10日的上半部分,该指南主要介绍了基于Altera EP4CE10开发板的使用方法和Verilog语言的基础知识。 首先,该指南详细介绍了FPGA的概念和特点,以及FPGA开发的基本流程。对于初学者来说,这些基础知识非常重要,可以帮助他们快速了解FPGA开发的背景和基本原理。 接着,指南介绍了Altera EP4CE10开发板的硬件结构和功能。EP4CE10是一款常用的FPGA芯片,具有较高的性能和灵活性,适合各种应用场景。指南通过实际案例演示了如何使用该开发板进行FPGA开发,并展示了一些常见的外设接口和扩展模块的使用方法。 在Verilog语言方面,指南从基础语法、数据类型、模块化编程等方面进行了讲解。通过大量的实例代码和演示,指南帮助读者理解Verilog的基本语法和使用方法,并指导如何利用Verilog进行FPGA设计和开发。 此外,指南还介绍了一些常用的FPGA开发工具和软件平台,如Quartus II和ModelSim等。这些工具可以提供强大的支持和便捷的开发环境,帮助开发人员更高效地进行FPGA设计和调试。 总结来说,征途Pro《FPGA Verilog开发实战指南——基于Altera EP4CE10》2021.7.10(上)是一本针对FPGA开发初学者的实用指南。通过介绍FPGA的基本知识、EP4CE10开发板的使用方法以及Verilog语言的编程技巧,指南帮助读者快速上手FPGA开发,并提供了丰富的实例和案例以加深理解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值