单片机课设和电子设计大赛仿真分享

news2025/1/17 18:05:50

兄弟们,我这有一堆单片机课设和电路图仿真,大家可以看一下

这是所有项目的一部分。

这是项目的里面的资料。

还有一堆仿真,这个只有仿真

下面的字是凑字数的,就是为了更好让大家看到这个福利

        当今社会是一个电子信息技术飞速发展的年代,小到玩具,家电,大到手机、飞机、潜艇
等,都离不开电子信息技术。社会上对于电子信息方面的人才需求也很大,从就业的角度而言
电子、计算机、通信以及信息方面专业的毕业生工资都比较高,就业也比较容易,尤其是嵌入
式、 Linux 和 Android 等相关开发工作
        本书主要讲解嵌入式 Linux 中的驱动开发,也会涉及到裸机开发的内容,相信大部分读者
和作者一样,以前都是做单片机开发的工作,比如 51 或者 STM32 等。单片机开发很难接触到
更高层次的系统方面的知识,单片机用到的系统都很简单,比如 UCOS、 FreeRTOS 等等,这些
操作系统都是一个 kernel,如果需要网络、文件系统、 GUI 等这些就需要开发者自行移植。而
移植又是非常痛苦的一件事情,而且移植完成以后的稳定性也无法保证。即使移植成功以后后
续的开发工作也比较繁琐,因为不同的组件其 API 操作函数都不同,没有一个统一的标准,使
用起来的话学习成本比较高。这个时候一个功能完善的操作系统显得尤为重要:具有统一的标
准;提供完善的多任务管理、存储管理、设备管理、文件管理和网络等。 Linux 就是这样一个系
统,当然这样的系统还有很多,比如 Windows, MacOS, UNIX 等等。本书我们讲解 Linux,而
Linux 开发可以分为底层驱动开发和应用开发,本书讲解的是 Linux 的驱动开发,主要面向与那
些此前使用 STM32 的开发者。平心而论,如果此前只会 51 单片机开发的话我是非常不建议直
接上手 Linux 驱动开发的,因为 51 和 Linux 驱动开发的差异太大了!笔者建议在学习嵌入式
Linux 驱动开发之前一定要学一下 STM32 这种 Cortex-M 内核的 MCU,因为 STM32 这样的
MCU 其内部资源基本和可以运行 Linux 的 CPU 差不多,如果会 STM32 的话上手 Linux 驱动开
发就会容易很多。笔者就是此前做了 4 年 STM32 开发工作,然后转的 Linux 驱动开发,整个过
程比较顺畅

        鉴于当前 STM32 非常火爆,学习者众多,如何帮助 STM32 学习者顺利的转入 Linux 驱动
开发是笔者思考了很久的问题。为此笔者本书和相应例程的安排如下:
理论上来讲,如果 ST 公司有可以运行的 Linux 的芯片那再好不过了,因为大家对 STM32
很熟悉,但是在写本书的时候 ST 也没有可以运行 Linux 的 CPU。 Linux 驱动开发入门的 CPU
一定不能复杂!!!比如像三星的 Exynos 4412、 Exynos 4418 等这些手机 CPU,这些 CPU 性能很强大,带有 GPU、支持硬件视频解码、可以运行 Andriod。但是正是它们的性能过于强大,
功能过于繁杂,所以不适合 Linux 驱动开发入门。一款外设和 STM32H7 这样的 MCU 差不多的
CPU 就非常适合 Linux 入门,三星的 2440 就非常合适,但是 2440 早已停产了,学了以后工作
上肯定又用不到了,又得学习其他的 CPU,有点浪费时间。作者花了不少时间终于找到了一款
合适的 CPU,那就是 NXP 的 I.MX6UL! 可以认为 I.MX6UL 就是一款可以跑 Linux 的 STM32,
外设功能和 STM32 相似,如果此前学习过 STM32 的话会非常容易上手 I.MX6UL。而且目前
I.MX6UL 正在大量出货,这是一款工业级的 CPU,大量的以前三星 2440、 6410 做的产品更新
换代的绝佳之选,学习完 I.MX6UL 以后工作就可以直接使用了。本书选取开发平台为正点原子
的 I.MX6U-ALPHA 开发板,其他厂商的 I.MX6UL 开发板也可以参考本书。

TM32 的开发都是在 Windows 系统下进行的,使用 MDK 或者 IAR 这样的集成 IDE,但
是嵌入式 Linux 驱动开发需要的主机是 Linux 平台的,也就是你必须先在自己的电脑上安装
Linux 系统, Linux 系统发行版有 Ubuntu、 CentOS、 Fdeora、 Debian 等等,本书我们使用 Ubuntu
操作系统。本书假设大家此前从来没有接触过 Ubuntu 操作系统,因此会有详细的 Ubuntu 操作
学习嵌入式 Linux 驱动开发建议大家先学习裸机开发(当然了,如果学习过 STM32 的话可
以跳过裸机学习), Linux 驱动开发非常庞大、繁琐。要想进行 Linux 驱动开发,必须要先移植
Uboot、然后移植 Linux 系统和根文件系统到你的开发平台上。而 Uboot 又是一个超大的裸机综
合例程,因此如果你没有学习过裸机例程那么 Uboot 移植将会有点困难,尤其是当要修改 Uboot
代码的时候。做 STM32 开发的话基本都是裸机开发,在 IDE 平台下编写代码,可以使用 ST 提
供的库。但是在 Ubuntu 下编写 I.MX6UL 裸机例程的话就没有这么方便了,没有 MDK 和 IAR
这样的 IDE,没有 ST 提供的库。所有的一切都需要我们自己搭建,大家不用担心,本书包括视
频会有详细的讲解。在裸机例程内容方面,我们提供了数十个裸机例程,由浅入深,涵盖了大
部分常用的功能,比如 IO 输入和输出、中断、串口、定时器、 DDR、 LCD、 I2C 等。学习完裸
机例程以后基本就对 I.MX6UL 这颗 CPU 非常了解了。再去学习 Linux 驱动开发的话就很轻松

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/443440.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

头歌c语言实训项目-综合案例课外练习:火柴游戏

(创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹) 目录 第1关:火柴游戏1 题目: 代码思路: 代码表示: 第2关&…

winform电影售票系统

一、前言 C#winform电影售票系统sqlserver数据库 主要技术: 基于C#winform架构和sql server数据库的电影售票系统 随着互联网高速发展,人们的娱乐生活也逐渐丰富,最普遍的娱乐休闲方式之一就是到电影院看电影,那么传统的电影订票…

数智化招采平台系统中智能用印解决方案,从细节上降本增效

随着现代市场的发展,企业规模的不断扩大,分支机构众多 ,用印管理在异地使用 、签字时带来了不便。在招标采购领域中,用印的智慧化管理模式已逐渐成为企业缩短信息传递时间、提高采购工作效率、实现降本增效的重要手段之一 。 经过…

JFrog Artifactory的数据备份与恢复教程

ps:码字,截图不容易,如果对您有帮助,请点个赞,评论下,谢谢 目录 一、数据备份 1、使用管理员账号登录JFrog的后台,点击“Backups”选项 2、查看备份规则 3、修改备份规则 4、测试备份规则是否…

管理后台项目-03-SPU列表-增删改SPU-获取SKU

目录 1-spu模块分析 2-spu三级分类和列表页面 3-添加修改spu 3.1-点击新增和修改逻辑分析和功能实现 3.2-图片上传逻辑分析 3.3-销售属性逻辑分析 3.4-保存spu信息 1-spu模块分析 我们看到spu组件模块,上面是三级联动,这个我们已经在上一篇属性那…

vue+oss实现服务端签名后直传的图片上传功能

vueoss实现服务端签名后直传的图片上传功能 vueoss实现服务端签名后直传的图片上传功能 vueoss实现服务端签名后直传的图片上传功能前言一、java服务端签名接口设计二、Vue element UI的upload图片上传三、前端直传oss可能出现跨域问题四、服务端签名流程总结 前言 基于Post …

Java基层卫生健康云源码 医院HIS信息管理系统源码

近年来,随着互联网技术的快速发展,云计算技术也得到了广泛的应用。云计算技术不仅可以提高计算效率,还可以实现资源的共享和协同,为基层卫生健康事业的发展提供了新的思路和机遇。 基层卫生健康云系统是指利用云计算技术&#xf…

【Java|golang】1026. 节点与其祖先之间的最大差值---避坑,注意:golang中同一个包下的全局变量只加载一次。

给定二叉树的根节点 root,找出存在于 不同 节点 A 和 B 之间的最大值 V,其中 V |A.val - B.val|,且 A 是 B 的祖先。 (如果 A 的任何子节点之一为 B,或者 A 的任何子节点是 B 的祖先,那么我们认为 A 是 B…

环境变量的初始

目录 : 1.引出环境变量 2. 简单使用一下环境变量 3.环境变量的概念 4.本地变量 5.环境变量的相关命令 6.环境变量获取和操作的方式 7. getenv(最常用的程序获取环境变量的方式) 8.环境变量的全局属性 -------------------------------------…

擎创动态 | 二等奖!擎创携手国家电网喜获“浪潮信息杯”绝佳成绩

近日,2022电力行业信息化年会于湖南省长沙市圆满落下帷幕。据悉,今年是电力行业信息化年会举办的第二十周年,年会的主题为“低碳数字新动力 电力转型新发展”,紧密围绕“十四五”数据经济发展,“双碳”战略、新型电力系…

10分钟学会使用Jmeter工具做接口自动化测试

Jmeter接口自动化测试项目实战视频教程地址:https://www.bilibili.com/video/BV1e44y1X78S/? 目录:导读 引言 一、软件下载 二、软件安装及设置环境变量 三、Jmeter做接口自动化测试的步骤 四、接口依赖的解决 引言 大家好!我是不二。…

《Linux基础》08. 日志管理 · 备份与恢复

Linux基础 - 08 1:日志管理1.1:系统常用日志1.2:日志管理1.2.1:日志服务1.2.2:配置文件1.2.3:自定义日志管理 1.3:日志轮替1.3.1:轮替服务1.3.2:配置文件1.3.3&#xff1…

顺序表(更新版)——“数据结构与算法”

各位CSDN的uu们你们好呀,今天小雅兰又来更新新专栏啦,其实之前我就已经写过了顺序表的内容,只是之前的内容不是最新版的顺序表,现在,我来更新一下最新版的顺序表,下面,就让我们进入更新版的顺序…

开发常用的 Linux 命令1(文件和目录)

开发常用的 Linux 命令汇总1(文件和目录) 作为开发者,Linux是我们必须掌握的操作系统之一。因此,在编写代码和部署应用程序时,熟练使用Linux命令非常重要。这些常用命令不得不会,掌握这些命令,…

小项目发布:TLC_Browers--一个开源的基于vb6基于Webview2 Runtime支持html5和多标签的浏览器

项目名称:TLC浏览器(TLC_NLP机器人的附属产品) 技术架构:webview2 runtime,可参考链接WebView2 - Microsoft Edge Developer 目录介绍: kernel:控制webview2内核的代码 client:主程序代码,将kernel变为自己的子窗体, 进程通信方式:共享文件 release:正…

Jenkins 在linux安装配置

下载Jenkins 安装包 官网地址:https://www.jenkins.io/index.html 因为我的是centos,所以我选择redhat的长期支持版本 linux上执行: wget https://get.jenkins.io/redhat-stable/jenkins-2.222.1-1.1.noarch.rpm安装 使用rpm安装&#xf…

【Linunx报错】程序在运行时无法找到一个名为 “libctemplate.so.3“ 的共享库文件

第一个报错: error while loading shared libraries: libctemplate.so.3: cannot open shared object file: No such file or directory 解决方法: 这个错误信息提示你的程序在运行时无法找到一个名为 “libctemplate.so.3” 的共享库文件,因…

GAMES302等几何分析(IGA)---- 课程简介及等几何分析的介绍

文章目录 前言提纲产品数字化设计\仿真\优化全流程介绍计算机辅助设计(CAD)NURBS理论基础计算机辅助工程(CAE)什么是CAE为什么用CAECAE典型应用CAE解决问题的一般过程CAE方法体系及软件 结构优化创成式设计设计仿真类工业软件国产…

mybatis注解的详解和开发(增、删、改、查以及一对一、一对多/多对一、多对多的关系联查)

mybatis注解的基本理解和开发(增、删、改、查以及一对一、一对多/多对一、多对多的关系联查) 使用mybatis注解开发的原因? 注解提供了一种简单的方式来实现简单映射语句,而不会引入大量的开销。能够读懂别人写的代码,特别是框架相关的代码。…

Java——反转链表

题目链接 牛客在线oj题——反转链表 题目描述 给定一个单链表的头结点pHead(该头节点是有值的,比如在下图,它的val是1),长度为n,反转该链表后,返回新链表的表头。 数据范围: 0≤n≤1000 要求&#xff1…