FunnyPi-T113是一款基于全志T113-S3/D1S处理器的完全开源多功能开发板,设计FunnyPi最初的目的是想借此T113卡片电脑来满足日常学习,并结合T113高效能和低功耗的特点,来满足像语音助手,智能家居屏幕、桌面摆件屏、博客服务器等嵌入式应用的开发需求。
周二,Linux内核主要开发者Linus Torvalds宣布候选版本Linux 5.13现在可以进行公开测试。
linux作为一款流行的嵌入式系统,目前已经有多种架构的MCU支持Linux移植,arm64就是其中一种。今天在这里想做一个笔记,记录一下完整的arm64移植过程。
一、 发展史 Unix: 1969年,Ken Thompson(肯 汤普森)和Dennis Ritchie(丹尼斯 里奇)在美国贝尔实验室创造了UNIX操作系统。 特点:功能强、可移植性高 70年代末 美国加州大学伯克利分校的教授和学生一起开发出BSD UNIX。 UNIX SUN——Solaris HP——HP-UX、Tru64 IBM——AIX BSD UNIX FreeBSD、NetBSD、OpenBSD等 1983-9-27,GNU计划诞生,计划
TIOBE公布了3月份编程语言排行榜。相比上个月编程语言Top 5并没有太大的变化,其中Java依旧稳坐榜首,随后分别是C、Python、C++、C#。
前进几篇文章,已经搞定了Linux移植三巨头:uboot、kernel(包含dtb)和rootfs,除了uboot是烧写在SD中的,其它的都是在ubuntu虚拟机的nfs服务器中,运行时必须通过网络将这些文件加载到开发板的内存中运行。
X11是执行Unix程序的图形窗口环境。Mac OS X本身的程序是Aqua界面的,但是为了能够兼容unix和linux移植过来的程序(Mac OS X由BSD-UNIX修改而来),比如MatLab,就需要x11窗口环境。
本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明.
本系列教程以「i.MX6ULL」处理器的ARM开发板为实验基础,学习记录嵌入式Linux开发的各种知识与经验,主要内容包括嵌入式Linux移植,嵌入式Linux驱动开发,嵌入式Linux应用开发等。
本教程所使用的开发板是GEC210开发板,核心板资源概述:CPU:S5PV210,SDRAM:512MB,Flash:8MB,NandFlash:256MB。
Apache 安装 : Apache官网www.apache.org 下载安装Apache 目前主流版本是2.4,我们先来2.4入手。2.2和2.4安装不太一样。2.4需要依赖软件apr。apr和apr-util是一个通用的函数库,它让httpd可以不关心底层的操作系统平台,可以很方便地移植(从linux移植到windows) wget http://mirrors.cnnic.cn/apache/httpd/httpd-2.4.27.tar.gz wget http://mirrors.hust.edu.
TencentOS tiny是腾讯面向物联网领域开发的实时操作系统,具有低功耗,低资源占用,模块化,安全可靠等特点,可有效提升物联网终端产品开发效率。TencentOS tiny 提供精简的 RTOS 内核,内核组件可裁剪可配置,可快速移植到多种主流 MCU (如STM32全系列)及模组芯片上。而且,基于RTOS内核提供了丰富的物联网组件,内部集成主流物联网协议栈(如 CoAP/MQTT/TLS/DTLS/LoRaWAN/NB-IoT 等),可助力物联网终端设备及业务快速接入腾讯云物联网平台。
时间进入到了3月,虽然受疫情影响,很多公司还是选择远程办公,你是不是依然在家宅着呢?对于已经复工的人来说,上班路上人员众多,一定要做好自我保护,没有什么比生命更重要的!
之前发了LCD调试笔记,大家很感兴趣,所以这次再来一篇:六轴传感器ICM20608驱动移植笔记,大家还需要什么移植笔记?可以留言。我们尽量满足。
在前面学习了Linux高级编程的基础上,开始对硬件正式有所交集,以前学习Linux可能只知道某些传感器的数据存放在哪个文件夹下,读取相应的数据就完事,大部分是应用层方面的实现,而不知道这些传感器的数据具体是怎么来的。学习了stm32单片机之后,与硬件打交道,离底层又更近了一步。
MariaDB安装 将待会下载的源码包放到这个目录下: cd /usr/local/src 下载源码包: wget https://downloads.mariadb.com/MariaDB/mariadb-10.2.6/bintar-linux-glibc_214-x86_64/mariadb-10.2.6-linux-glibc_214-x86_64.tar.gz 将压缩包解压: tar zxvf mariadb-10.2.6-linux-glibc_214-x86_64.tar.gz 把
来源:马哥教育链接:https://mp.weixin.qq.com/s/wwBt5H68tHmf_lHXrd_eSQ本文是 Linus 写于 1991年10月10日LINUX是什么?LINUX是一个免费类unix内核,适用于386-AT计算机,附带完整源代码。主要让黑客、计算机科学学生使用,学习和享受。它大部分用C编写,但是一小部分是用gnu格式汇编,而且引导序列用的是因特尔086汇编语言。C代码是相对ANSI的,使用一些GNU增强特性(大多为 __asm__ 和 inline)。然而有很多可用于386电脑的unices,他们大部分要花很多钱,而且不附带源码。因此他们是使用计算机的理想选择,但是如果你想了解他们如何工作,那是不可能的。也有一些 Unix 是附带源码的。Minix,Andrew S. Tanenbaum编写的学习工具,已经在大学中作为教学工具使用了很多年了。BSD-386系统是附带源码的,但是有版权限制,而且要花很多钱(我记得起始价格为$995)。GNU内核(Hurd)将会是免费的,但是现在还没有准备好,而且对于了解和学习它们来说有点庞大。LINUX与Minix是最相似的,由于它很小而且不是非常复杂,因此易于理解(嗯…)。LINUX是基于Minix编写的,因此有相当多的相同点,任何Minix黑客在使用LINUX的时候都感觉非常熟悉。不过,没有在项目中使用Minix代码,因此Minix版权没有限制到这个新系统。它也是完全免费的,而且它的版权非常宽松。因此不像使用Minix,它不需要几兆字节大小的区别。LINUX版权虽然是免费的发布版,我还是从以下几个方面限制了LINUX的使用:你可以自由复制和重新发布源码和二进制,只要是:1. 完全开源。因此不能单独发布二进制,即使你只修改了一点。2. 你不能从发布版获取利益。事实上甚至“装卸费用”都是不被接受的。3. 你要保持完整的适当版权。· 根据需要你可能会修改源码,但是如果你发布了新系统的一部分(或者只有二进制),必须将新的代码包含进去。· 除了不包含版权的代码之外,你可能会做一些小的修改。这由你来定,但是如果能将相关内容或者代码告诉我,将不胜感激。对任何使用或者扩展系统的人来说,这应该足够宽松而不会引起任何担忧。如果你有朋友真的不想要源码,只想要一个能运行的二进制,你当然可以给他而不用担心我会起诉你。不过最好只在朋友之间这么做。LINUX运行所需的硬件/软件LINUX是在一个运行Minix的386-AT上开发的。由于LINUX是一个真正的操作系统,而且需要直接与硬件交互来做一些事情,你必须有一个非常相似的系统来让他顺利运行:· 386-AT(PS/2之类是不同的,不能正常运行)· VGA或者EGA屏幕硬件。· 标准AT硬盘接口,IDE盘可以运行(实际上我用的就是这个)。· 正常实模式BIOS。一些机器看起来是用虚-86模式运行启动程序,而且在这样的机器LINUX不会启动和正常运行。LINUX会发展成为一个自给自足的系统,现在需要Minix-386才能正常运行。你需要Minix让初始化启动文件系统,和编译OS二进制。在那之后LINUX是一个自给自足的系统,但是为了做文件系统检查(fsck)和修改之后重编译系统,推荐使用Minix。获取LINUXLINUX现在可以使用匿名ftp从‘nic.funet.fi’的‘/pub/OS/Linux’目录获取。这个目录包含操作系统的所有源码,还有一些二进制文件,因此你可以真正使用系统了。注意!二进制大多是GNU软件,而且版权比LINUX的严格(GNU非盈利性版权)。因此你不能在不发布他们源码的情况下重新发布他们,可以在/pub/GNU中找到。关于GNU非盈利性版权,从任何GNU软件包了解更多。此目录中各类文件如下:· linux-0.03.tar.Z–系统的完全源码,16位tar压缩文件格式。· Linux.tex–这个文件的LATEX源码。· bash.Z–在LINUX下运行的bash二进制文件。这个二进制文件应该放到预留给LINUX文件系统中的/bin/sh下(参见installation)。· update.Z–更新二进制文件,要放到/bin/update。· gccbin.tar.Z–GNU cc二进制文件需要由一个可运行的编译器。这个tar压缩包含有编译器,加载器,汇编程序和支持程序(nm,strip等)。它还包含一个小型的库,可用于大部分程序。· include.tar.Z–让gcc运行的必要include文件。· unistd.tar.Z–unistd库程序的源码(即系统调用接口)。通过这个你可以使用系统独立库源码编译一个大一些的库。· utilbin.tar.Z–各种GNU工具的二进制文件,包括GNU的fileutils,make和tar。也包含克隆emacs的uemacs。· README, RELNOTES-
此文在网络社区搜集,如果有侵权,请联系本人删除! 在1991年的八月,网络上出现了一篇以此为开篇话语的帖子——这是一个芬兰的名为Linus Torvalds的大学生为自己开始写作一个类似minix,可运行在386上的操作系统寻找志同道合的合作伙伴。1991年10月5日,LinusTorvalds在新闻组comp.os.minix发布了大约有一万行代码的Linux v0.01版本。到了1992年,大约有1000人在使用Linux,值得一提的是,他们基本上都属于真正意义上的hacker。1993年,大约有100
LINUX是一个免费类unix内核,适用于386-AT计算机,附带完整源代码。主要让黑客、计算机科学学生使用,学习和享受。它大部分用C编写,但是一小部分是用gnu格式汇编,而且引导序列用的是因特尔086汇编语言。C代码是相对ANSI的,使用一些GNU增强特性(大多为 __asm__ 和 inline)。
今天早上我在查阅 Linux 内核邮件列表的时候,看到了一封 Linus 本人的回复:
NXP官方linux仓库地址为:https://github.com/Freescale/linux-fslc/tree/5.4-2.1.x-imx。
学习 I2C 和 SPI 驱动的时候,针对 I2C 和 SPI 设备寄存器的操作都是通过相关的 API 函数进行操作的。这样 Linux 内核中就会充斥着大量的重复、冗余代码,但是这些本质上都是对寄存器的操作,所以为了方便内核开发人员统一访问 I2C/SPI 设备的时候,为此引入了 Regmap 子系统。
VS1053是一款硬件编解码的音频芯片,提供SPI接口和IIS接口两种通信协议,这篇文章是介绍在Linux下如果模拟SPI时序来操作VS1053完成录音、播放音频歌曲功能。但是没有注册标准的音频驱动,没有对接音频框架,只是在驱动层完成VS1053的直接控制,本篇的重点主要是介绍如何初始化开发板的GPIO口,使用Linux的延时函数,模拟SPI时序,代码写了两种版本,一种是直接通过ioremap直接映射GPIO口地址,完成配置,一种是直接调用官方内核提供的库函数接口,完成GPIO口初始化,控制。
从事嵌入式研发行业十年,认为学习就是要不断的吸纳知识,在研发过程中,经常会遇到一些问题,这种发现问题并解决问题的过程就是进步。
每当我们在入门之前(ARM是这样,DSP也一样),总会有很多疑问,会有很多顾虑。我们渴望知道学习STM32前景如何?需要啥基础?难不难?适不适合我?但是什么时候能心潮澎湃地、相当着急地开始学STM32?日子在一天一天过去!你开始行动了吗?没有行动的思索,永远都不可能入门!把这些时间用来看书吧,效果能好一万倍。
在本文中,我们将介绍关于spi-mem Linux内核框架的工作,该框架将允许在SPI NOR设备和常规SPI设备以及SPI NAND设备上复用SPI控制器驱动程序。
本次介绍的两个软件包SFUD/FAL都与FLASH有关,并且都可以独立使用或者结合在一起使用,两个软件包都对操作系统无依赖,可以使用裸机移植,也很方便移植到各种系统。
本文通过对Linux下串口驱动的分析。由最上层的C库,到操作系统系统调用层的封装,再到tty子系统的核心,再到一系列线路规程,再到最底层的硬件操作。
SPI是英语Serial Peripheral interface的缩写,顾名思义就是串行外围设备接口。是Motorola首先在其MC68HCXX系列处理器上定义的一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,提供方便,简单易用。
这篇文章简单我们来一起梳理嵌入式Linux的一些知识,方便于一些想跟我一样想要由单片机进阶到嵌入式Linux的朋友做一些参考学习。
小熊派开发板使用的LCD屏幕为1.3寸的TFT彩屏,色彩深度16bit,分辨率240*240,使用 SPI 接口与 MCU 之间通信。
鸿蒙是一套完整的、普通人可以直接使用的操作系统,跟Windows、安卓、IOS类似。
鸿蒙是一套完整的、普通人可以直接使用的操作系统,跟Windows、安卓、IOS类似。 常见的错误观点是把鸿蒙跟Linux放在一起来对比,这不对:
首先要知道时钟极性 CPOL”和“时钟相位 CPHA的概念,概念自行百度,根据CPOL 及 CPHA 的不同状态,SPI 分成了四种模式,若你写软SPI协议的话,一定要知道这四种模式,使用硬SPI协议的话,根据外设芯片,在初始化时,配置MCU的寄存器即可。四种模式如下:
上周分享了一篇远程控制空调的文章(一次DIY远程空调控制的经历(长篇多图)),里面提到了一个USB转无线的模块,有朋友想要这个资料,于是我找了下。
上篇文章,使用BusyBox构建了基础的嵌入式Linux系统的根文件系统,基本的功能可以正常运行,但在这个基础功能上,还要许多地方需要完善。
本专栏由Mculover666创建,主要内容为寻找嵌入式领域内的优质开源项目,一是帮助开发者使用开源项目实现更多的功能,二是通过这些开源项目,学习大佬的代码及背后的实现思想,提升自己的代码水平,和其它专栏相比,本专栏的优势在于:
1 配置GPIO, In ..\ arm-linux-3.3\linux-3.3-fa\drivers\spiftssp010_spi.c
部分硬件设计中需要CPU完成对电路寄存器的配置,为了完成Zedboard对FPGA上部分寄存器的配置功能,可以在PS单元(处理器系统)上运行裸机程序(无操作系统支持)完成和PL单元(FPGA部分)的数据交互功能,此时PS单元更像单片机开发;另一种方法是PS单元运行Linux操作系统,通过驱动程序和应用程序完成对硬件寄存器的读写操作,并且Linux有着完整的网络协议栈支持,后续可拓展性更强,可以更好的发挥ZYNQ这种异构架构芯片的性能。主要分为两部分,分别阐述Zedboard中FPGA和处理器互联总线与硬件设计和Zedboard处理器系统上嵌入式Linux的移植与通过驱动和应用程序简单配置FPGA寄存器的实现。上次介绍了没有操作系统下的驱动和应用程序开发,本文介绍带操作系统的驱动和应用程序开发。
最近在测试u8g2库,准备是在单片机上使用的,不过目前我看到其也是支持了linux设备的,所以想着是不是能在T507上跑下。搜了下已经是有人做了移植了。官方现在应该也是支持了的,我选择别人开源的,因为介绍的还比较详细。开源地址如下。
网上看了很多的嵌入式学习路线,有的比较片面,有的为了博人眼球东拼西凑,几乎把整个行业用得着用不着的技术都写上去了,没有侧重点,简直是劝退指南,还有的纯粹是打广告卖板子招生。
之前分享过SPI Flash烧写算法的文档版制作教程,但是网友反馈移植到其它单片机上不是很方便,此贴为此而生,方便大家移植到各种平台。
还有就是可以存储固件,用于OTA的设计。特别是对于有远程更新app的需求来说,这个就必须用起来了。
源码地址:https://gitee.com/MR_Wyf/hal-cubemx-rt-thread/tree/hal_rttNano_st7789_menu/
在上周的文章中介绍了一款因作者想要学习Linux而动手DIY的终端设备V3S-PI,
海康缺口比较大,一直在招人。oppo春招不像秋招那样,卡简历卡的那么严格,普通学校的学生也有了很大的机会。
说明: 1、为了搭建这个框架,的确是耗费了太多精力,最早是打算制作手持版,USB版和以太网版,三个版本,并且还要写上位机软件,但是发现工作量太大了。之后就改变了策略,开始朝着通吃版研究,即一个APP固件实现所有方式,当前已经做到物联网网关,手持版,USB版和以太网版四合一,并且不再需要设计上位机,直接远程访问即可。 2、贯穿这个全家桶方案的关键是emWin的多屏展示,网络协议栈的多网口实现和CMSIS-Driver。 (1)通过多屏方案实现了手持,USB和网络都可以访问界面。 (2)通过网络协议栈的多网口方式实现了USB和网路都可以访问,无需再单独配套一个应用。 (3)CMSIS-Driver在这次设计中起到了承上启下的作用。 3、几乎每个组件的添加都是一部血泪史,以emWin为例,为了验证最高性能版,为H7-TOOL的240*240分辨率的SPI接口IPS屏制作了六种方案进行性能测试,工作量是何其大。 类似V5和V4的通用移植方案。 (1)硬件SPI方案 (2)软件SPI方案 类似V6的Lin驱动移植方案。 (1)硬件SPI方案 (2)软件SPI方案 (3)SPI DMA方案,需要更新的时候调用更新,整个屏幕刷新,一次18ms (4)SPI DMA方案,不间断实时刷新,类似ADC DMA,一直在传输,每秒55帧的速度 其实工作量更大的还在后面,像网络和USB的调试就更加繁琐了,特别测试多网口供时,坑太多了。 4、RTX5全家桶方案作为H7-TOOL的番外篇,与我们当前已经发布APP固件并不冲突。 5、现在已经开始添加各种应用代码,争取早日发布,并且会制作教程文档。
领取专属 10元无门槛券
手把手带您无忧上云