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

做网站建网站公司二维码在线生成工具

做网站建网站公司,二维码在线生成工具,信阳网站seo,新闻类网站开发前言:之前的基于单片机的闭环控制步进电机项目其实已经完成了,但很多时间都花在调试和生产上,实在没时间去做总结笔记,现在又开始做新项目了,从单片机到了Linux,想用这个平台来督促自己继续学习&#xff0c…

前言:之前的基于单片机的闭环控制步进电机项目其实已经完成了,但很多时间都花在调试和生产上,实在没时间去做总结笔记,现在又开始做新项目了,从单片机到了Linux,想用这个平台来督促自己继续学习,所以新开一章。之前的单片机项目应该还是会补全的。


Linux到底是什么?
我之前只是听过,并没有深入学习过Linux,我之前会以为它是一个和单片机同级别的概念,现在发现是大错特错且很业余。我现在理解的相关概念是这样的。

- Linux是一个操作系统(OS),和Windows, MACOS, Android, IOS是同级别的概念
- Linux和Android是完全开源的,甚至Android的底层是Linux,但其他几种OS都不是
- 单片机可以说是CPU的一种,之前学习的STM32又是单片机的一种
- 操作系统是运行在CPU之上,例如Windows运行在Intel的CPU上,MACOS运行在苹果的M系列芯片上,IOS运行在A系列芯片上
- Linux操作系统可以运行在很多个CPU上,例如NXP的I.MX6UL(这也是我开发板使用的CPU)
- 之前单片机也学习到了FreeRTOS,是一种轻量化的操作系统,如果需要网络,文件系统,GUI等需要开发者自行移植
- 如果要学习一个功能完善的操作系统,Linux是非常合适的选择
- Linux的多任务管理、存储管理、设备管理、文件管理和网络,都是单片机缺少或者不那么强大的功能

我选择从搞明白Makefile开始Linux的学习

之前学习单片机的时候是有IDE这个东西的,最开始的Keil,后来的Clion,都是很出色的单片机IDE。我们只需要在IDE上写代码,它可以帮我们自动补全代码,加上HAL库CubeMX的支持,单片机的开发难度大大降低。

在Linux中就没有CubeMX这样的神器,至少目前没有,所以系统的初始化需要自己写代码完成。

最重要的是,IDE给我们提供了编译链接的功能,它使我们甚至都不知道编译这件事情的存在,只要点击一个按钮,IDE就会自动给我生成**.hex或者.bin**文件让我们烧写到单片机里。(当然是编译没有错误的情况)

Linux的嵌入式编程情况不太一样:

  • 首先Linux的可执行文件必须在Linux系统中编译,一般是在Windows中用虚拟机建一个Ubuntu系统下使用命令行来做编译和链接(Ubuntu系统和MACOS非常像)
  • 在开发项目的时候,可以先在Windows下的IDE进行代码编写,之后使用FTP(FileZilla)传输到虚拟机中,基于命令行和gcc编译器进行编译、链接
  • 还有种方法是在Ubuntu下直接使用图形化的IDE工具,例如VSCode来做代码编写工具,而且也能进行简单的编译,亲测功能和Windows版本的VSCode基本一致
  • 我看很多文章都说源文件很多的情况下用VSCode编译会有问题,但我目前还没有碰到,用VSCode编译存在的问题用命令行gcc编译一样也会跳出来,可能目前用的源文件还是不够多吧?
    等等,什么是编译?什么又是链接?至少我是一直没有明确概念。

编译是将源文件(C, C++, python等等)转换成中间代码文件,中间代码文件在Windows中是**.obj文件**,在Linux中是**.o文件**,即ObjectFile;编译器需要的是语法的正确,函数与变量声明的正确;
由于一个工程里包含的源文件很多,所以编译得到的ObjectFile也会很多,所以把大量的ObjectFile合成执行文件的动作叫做链接(Link)。链接器会在所有中间文件中找寻函数的实现,如果找不到会报链接错误码。

好了,从这里进入Makefile是一个比较好的时机。上面说了,每一个源文件都需要编译成中间文件,我们当然可以使用合适的IDE实现傻瓜操作,但也可以自己写makefile来证明具备完成大型工程的能力。

makefile关系到了整个工程的编译规则。一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作。makefile带来的好处就是——“自动化编译”,一旦写好,只需要一个make命令,整个工程完全自动编译,极大的提高了软件开发的效率。

接下来详细的学习Makefile
(未完待续)

http://www.yayakq.cn/news/86359/

相关文章:

  • 广东建泰建设有限公司网站青岛网站设计系统
  • 眼镜网站源码深圳广告公司画册设计
  • 展示形网站怎么建苏州艺术家网站建设
  • 网站建设免费pptwordpress 主题 效果 差别大
  • 企业网站开发流程在线建站系统
  • 网站网页是怎么做的投资建设个什么网站好
  • 重庆哪里可以做网站的郑州app定制开发
  • 我是做环保类产品注册哪些浏览量大的网站推销自己的产品比较好呢ppt模板免费下载网址
  • 常州城乡和住房建设厅网站wordpress linux 伪静态
  • 专业济南网站建设价格黑龙江建筑工程信息网
  • 黑龙江省建设集团有限公司网站视频网站推广怎么做
  • 网站建设规划总结wordpress 2018编辑器
  • 丽水市住房和城建建设局网站怎么建设公益网站
  • 站长工具查询如何做个网站做cpa
  • 深圳产品网站建设北京哪家装修公司好
  • 做海报去哪个网站找素材比较好呢保定网站建设维护
  • 网站营销的分类有哪些门户网站主要特点和功能
  • 犀牛云做网站机械网站精选
  • 什么专业学网页设计已有的网站如何做排名优化
  • 东莞专业网站推广需要多少钱wordpress如何更改域名
  • 网站管理人员队伍建设有待加强东莞建设网东莞市住房和城乡
  • 免费的网站域名和空间希爱力双效片的作用与功效
  • 湖北营销型网站建设费用网页设计教程书籍推荐
  • 免费的微网站哪个好wordpress文章页禁止右键
  • 对网站做打包备份处理网络规划与设计毕业设计
  • 网站建设推广销售人员济南网约车公司
  • 佛山电子商务网站建设天元建设集团有限公司设计研究院征求意见
  • 陇南市建设局官方网站wordpress微信分享代码
  • 有没有哪个网站可以做LCM模组快速建设网站视频教程
  • 我想做个网站怎么弄个人网站可以做商城吗