LinuxSTM32ARM三者到底什么关系呀要先学哪个?
linux是操作系统可以移植到arm上去stm32是意法半导体的单片机有armcortexm3、m4架构的单片机建议先学32其实可以同时学的
我用手机蓝牙控制单片机,谁是主机谁是从机?
一个做主机一个做从机就可以实现通信,电脑和手机的蓝牙一般是主机,也就是说配对一个从机就能实现通信,你再买一个从机蓝牙模块来就可以用了,不过我感觉你说的这个功能实现起来难点很多,因为看似简单的的配对涉及到很多问题,主要是软件上,手机端需要写驱动及应用程序,这个就需要你对嵌入式ARM及linux相当熟悉,不过有可能类似的程序能下载到,你可以试试,再者单片机你需要写通信协议蓝牙模块才能工作,还需进行收到数据的控制信号10口输出,还需要信号放大,如果做PWM输出,就需要H桥。从理论上来说楼主的功能可以实现,但是前提是你很熟悉单片机编程和armlinux,而且电路知识也必须熟悉。从楼主的提问来看我不认为你是一个电子方面的专业人士,所以你真想做就需要毅力了,光买点零件回来是不够的
如何在单片机装Linux系统?
按道理来说有这几年经验,应该已经熟悉了几款单片机,像stm系列或者ti的,这样应该对soc的体系结构比较了解,一般单片机是在Windows下开发,熟悉一些总线,熟悉一系列业务算法,可以以此为基础。
1.首先需要补充os方面的知识,现代操作系统,看一看,线程,进程,内存管理,文件系统,网络。
2.开发系统逐步使用Ubuntu或者其他linux发行版,熟悉linux的基本操作,脚本,交叉编译
3.看深入理解linux内核,lld第三版,熟悉驱动和内核的基本知识,可以重点看自己熟悉外设的驱动,如spi。
4.可以在熟悉的单片机上移植一个os,不一定是linux,如果是stm32可以移植freertos,这个网上很多资料,然后结合资源可以移植linux。
5.可以买一个树莓派,移植linux也是很方便的,可自己添加驱动,写应用,linux环境高级编程,也可以看看。
这样就你就会理解了,也不会陷入一个os。
当然最简单有效的方式是直接找一份linux相关的工作,在工作中学习,这又是鸡和蛋的问题。
stm32系列单片机区别?
1、内核:51单片机采用的是51Core,8Bit@2MHzMax(分频后),0.06DMIPS;STM32采用的是ARMCortex-M3,32Bit@72MHz,1.25DMIPS
2、地址空间:51单片机只有64KB;STM32有4GB
3、片上储存器:51单片机ROM只有2K-64K,RAM仅为128B-1K;STM32的ROM为20K-1MB,RAM有8K-256K
4、外设:51单片机仅有三个定时器和一个串口;STM32却拥有AD,DA,Timer,WWDG,IWDG,CRC,DMA,IIC,SPI,USART等众多外设
5、开发工具:51单片机采用的是早期的UV2;而STM32使用的是UV4,甚至更高
6、操作系统:51单片机连RTOS都很难能跑;STM32采用的是uClinux,uC/OS
2. 关于单片机,DSP,ARM,嵌入式,Linux,EDA
首先单片机,DSP,ARM都算是微型计算机吧,都是嵌入式系统的核心,其中低端一点的处理器就是单片机了,高端一点的就是ARM(为处理器,很多款诺基亚就是用的ARM11芯片)。DSP(数字处理器),速度相当快。
LINUX就是一种的嵌入式系统中很流行的开放的操作系统,可以移植在微型计算机当中,实现实时控制,
嵌入式分软硬,软一点就是操作系统方面,底册、层驱动程序方面吧,比如Linux等等。。硬一点就是以单片机,DSP,ARM为核心处理器和外围的一些数字模拟电路吧。。
EDA是一系列电子设计自动化软件。
如果你要做这些方面的话,每一个都不是简单的,需要循序渐进,建议如果有数电,模电等电路知识后可以从简单一点的单片机开始,然后学ARM会容易一些,这些也算是嵌入式系统范畴了,只是做的是嵌入式的硬件方面。
我也是学生,全是个人查资料的一些理解,如有不实,请谅解。
3. Linux 上搭建 51 单片机开发环境
在 Linux 系统上搭建 51 单片机开发环境,本文提供了一种方法,即使用 Flatpak 版 Q4Wine 与 Keil 作为开发工具。
首先,安装 Flatpak,通常在大多数 Linux 发行版中只需安装名为 flatpak 的包即可。以 openSUSE 为例,添加软件源后,安装 Q4Wine。Q4Wine 是一个允许在 Linux 系统上运行 Windows 应用程序的平台,其主要优势在于可以提供发行版兼容性,适合于 openSUSE、Fedora、Arch、Ubuntu、Debian 等。
配置 Q4Wine 时,需要创建一个新的前缀,命名为“C51”。架构选择 win32,因为 Keil4、Keil5 和 STC-ISP 都是 32 位程序。路径等默认设置即可,前缀保存位置在 ~/.var/app/ua.org.brezblock.q4wine/data/wineprefixes/。
接着,通过 Q4Wine 运行 Keil5 安装包,安装过程中选择同意许可协议,一路确认完成。对于安装时需要填写的邮箱和公司信息,只要邮箱格式正确即可,内容随意填写。
安装 STC-ISP 时,考虑到它依赖于 mfc42.dll 运行库,可以通过 Q4Wine 的设置选项卡使用 Winetricks 安装此库。另一种方法是直接复制 mfc42.dll 到 STC-ISP 目录,并将整个文件夹复制到 Q4Wine 的前缀中。
为了便于访问,需要在 Q4Wine 中添加图标。右键空白处选择新建图标,选择“drive_c/Keil{_v5}/UV4/UV4.exe”作为图标路径。
设置全局等宽字体可以提升界面的可读性,因为 Wine 环境默认字体可能不适用等宽字形。通过修改注册表文件,指定自定义字体文件,如 wqy-zenhei-mono.ttf,并将其复制到 drive_c/windows/Fonts/ 目录,然后使用 Q4Wine 的注册表编辑器导入注册表文件。
总结,通过 Flatpak 版 Q4Wine 与 Keil 的结合,可以在 Linux 上搭建一个完整的 51 单片机开发环境,实现跨平台开发,提升开发效率。同时,通过全局等宽字体的设置,可以进一步优化开发界面的观感。