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

文章介绍了从单片机(如STM32)过渡到Linux驱动开发的过程,强调了Linux在系统管理、多任务处理等方面的优势。推荐通过学习STM32作为基础,然后进入I.MX6UL的Linux驱动开发,该芯片类似可运行Linux的STM32。文章提供了一条从STM32裸机开发到Ubuntu环境下的Linux驱动开发的学习路径,包括Uboot和Linux系统的移植,以及配套的裸机例程和仿真资料。
摘要由CSDN通过智能技术生成

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

这是所有项目的一部分。

这是项目的里面的资料。

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

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

        当今社会是一个电子信息技术飞速发展的年代,小到玩具,家电,大到手机、飞机、潜艇
等,都离不开电子信息技术。社会上对于电子信息方面的人才需求也很大,从就业的角度而言
电子、计算机、通信以及信息方面专业的毕业生工资都比较高,就业也比较容易,尤其是嵌入
式、 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 驱动开发的话就很轻松

 

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

薛定谔的猫咪死了

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值