本文讲述了如何编译uboot并进行配置,对编译过程中遇到的问题进行解决,此外还对uboot的结构进行了简介
本文主要为嵌入式入门开发者的接口、网口等板卡基础快速测试,当初级学习的开发者拿到板卡,如何在最快时间内测试板卡正常?,接下来是等是否正常。继续测试教程(3)的测试板卡的SATA接口、USB接口读写、USB HOST模式测试、USB DEVICE模式、串口测试等测试部分,接下来是CAN测试、VGA接口、7英寸LCD触摸屏、10.4英寸LVDS触摸屏、7英寸MIPI触摸屏等测试部分是否正常。
注 意 : 此 章 节 测 试 需 要 外 接 LCD 屏 幕 才 可 以 进 行 测 试 验 证 , LCD 模 块 介 绍 请 参 考 页 面 http://download.100ask.org/modules/Lcd/100ask_imx6ull_7-inch_LCD/
前提:安装了VMware,运行百问网提供的Ubuntu 18.04 本节视频对应源码在GIT仓库中,位置如下(这2个文件是完全一样的):
在RTOS中,本质也是去读写寄存器,但是需要有统一的驱动程序框架。 所以:RTOS驱动 = 驱动框架 + 硬件操作
修改内核文件:drivers/video/fbdev/Makefile,把内核自带驱动程序mxsfb.c对应的那行注释掉,如下:
在线课堂:https://www.100ask.net/index(课程观看) 论 坛:http://bbs.100ask.net/(学术答疑) 开 发 板:https://100ask.taobao.com/ (淘宝) https://weidongshan.tmall.com/(天猫)
QEMU可以模拟x86,也可以模拟各种ARM板子,还可以模拟各种外设。 百问网对QEMU做了很多改进,支持更多硬件,支持更多GUI现实, 让用户可以更有真实感地使用QEMU来模拟IMX6ULL板子。
LCD Framebuffer 就是一块显存,在嵌入式系统中,显存是被包含在内存中。LCD Framebuffer里的若干字节(根据驱动程序对LCD控制器的配置而定)表示LCD屏幕中的一个像素点,一一对应整个LCD屏幕。举个例子,LCD屏幕是800*600的分辨率,即LCD屏幕存在480000个像素点,若每个像素点4个字节表示,那么LCD Framebuffer显存大小为480000 *4=960000字节,即1.92MB。因此我们的内存将会分割至少1.92MB的空间用作显存。具体地址在哪里,这个就是又驱动程序去定,应用程序只需直接使用即可,硬件相关操作已由驱动程序封装好。
有时候直接在Linux服务器上通过 wget 或 curl 工具下截比较大的网络文件时会比较慢,这时我们通常会改用在Windows平台通过迅雷等更加现代化的下载功具下好目标文件(迅雷开会员才能更高速的恶心操作是题外话哈,话说我也送了不少钱给迅雷~~~),这时就面临要把Windows平台下的文件传送到远程Linux服务器上的问题了。
今天在写脚本在几十个机器上部署,需要通过脚本在 crontab 中新加定时任务 查了下,不同用户的 crontab 在目录 /var/spool/cron/crontabs/ 或者 /var/spool/cron/ 以对应用户名保存。 所以一开始想着简单粗暴来个 echo xxxxxxxxxxx >> /var/spool/cron/crontabs/lcd 就可以了。
本文主要介绍基于TLT3F-EVM评估板的双屏异显开发案例,案例位于“4-软件资料\Demo\base-demos\display_test”目录下,本案例同时支持TFT LCD + CVBS OUT双屏异显方案。
很多学员有过STM32的学习经验,他们手上的开发板很多,LCD也很多。 一个LCD还挺贵的,不能浪费。 各家的LCD引脚顺序都不一样,所以别家的LCD不能直接接到100ASK_IMX6ULL开发板,需要转接板。 大部分单片机学员都是使用正点原子、野火的板子,有他们的屏。 针对这两家的屏,我们做了转接板,如下:
上篇文章,我们介绍了如何使用NXP原厂的uboot进行编译和烧写,将uboot运行在自己的开发板上。NXP原厂的uboot,直接烧录到我的开发板中,LCD的驱动是不正常的,需要进行修改。本篇我们就来继续研究uboot,「使得uboot能匹配我们自己的开发板」。
Windows开发环境:Windows 7 64bit、Windows 10 64bit
在上一节LCD层次分析中,得出写个LCD驱动入口函数,需要以下4步: 1) 分配一个fb_info结构体: framebuffer_alloc(); 2) 设置fb_info 3) 设置硬件相关的操作
设置好工具链后,把14_use_multi_framebuffer上传到Ubuntu,在该目录下执行make即可
OK113i-S 是一个优秀的开发板,支持lvds 单8,双8显示,最大分辨率1280x800
功能类似 xshell 这类终端管理工具,将需要登录的机器ip信息统一记录在一个host文件中,登录直接选择对应序号就好,减少重复输入ip,账号。
我们这一代的年轻人基本上都很喜欢逛B站,大部分老人都认为我们这些年轻人上B站是为了看动漫、看游戏等等,谁跟你B站是用来看这些的,B站是用来学习的!
素时钟不超过180MHz 都支持。或者两个串行RGB 接口,串行RGB 的最高分辨率最大不超过800*480@60
方便自动化运维部署,在多台机器上自动执行命令。 ssh 需要输入密码, 所以使用 expect 进行交互,从执行文本读取远程主机 IP, 登录名和密码后执行远程登录,执行命令。
第一步:安装samba服务 》yum install samba 第二步:启动samba服务 》systemctl start smb 查看samba的状态 》systemctl status smb 看到Active就说明在运行中了 第三步:关闭防火墙 》systemctl stop firewalld.service //停止服务 》systemctl disable firewalld.service //关闭开机启动 同时还有这一步 设置SELINUX=disabled(需要重启电脑) # vi /etc/selinux/config文件中设置SELINUX=disabled ,然后重启服务器。 第四步:需要添加一个用户来访问文件 》useradd lcd //添加用户 》passwd lcd //修改密码 创建samba用户 》smbpasswd -a lcd 第五步:修改samba的配置文件 》vi /etc/samba/smb.conf //进入配置文件 5.1将global中进行一下全局配置更改: workgroup = WORKGROUP//定义工作组,也就是windows中的工作组概念 security = user //安全认证方式采用user方式 ntlm auth = yes //否则windows7访问用户会认证失败 5.2在conf中添加新的用户配置(让4的配置生效) [lcd] path = /cloud/lcd //共享目录 browsable =yes writable = yes //目录可读可写 read only = no 修改后的smb.conf如下: [global] workgroup = WORKGROUP security = user passdb backend = tdbsam printing = cups printcap name = cups load printers = yes cups options = raw ntlm auth = yes [homes] comment = Home Directories valid users = %S, %D%w%S browseable = No read only = No inherit acls = Yes [printers] comment = All Printers path = /var/tmp printable = Yes create mask = 0600 browseable = No [print$] comment = Printer Drivers path = /var/lib/samba/drivers write list = @printadmin root force group = @printadmin create mask = 0664 directory mask = 0775 [lcd] path = /cloud/lcd browsable =yes writable = yes read only = no 第六步:设置想要共享目录的文件权限 给共享目录添加写权限,这样可以从windows向linux中写入文件。比如我这里设置\home为共享目录,那在终端输入以下命令即可 chmod -R 777 /cloud/lcd (可写 w=4 可读 r=2 可执行 x=1 ) 第七步:重启samba服务 》systemctl restart smb
问题就出在最后那句,本意我是希望把/home/lcd/something 复制到我脚本的执行目录。 假设我的脚本目录在/home/lcd/shell/下,
Linux 提供了一套完整的屏幕驱动,支持 RGB,MIPI DSI,eDP,LVDS,E-INK屏幕,也支持低分辨率的 SPI,IIC 屏幕。具体屏幕的驱动情况,需要根据芯片而确定。本文将通过介绍 D1-H Kernel 中的 LCD 驱动,讲解配置屏幕驱动的基本方法。
1.什么是Hacklab WebIDE1.1 优势1.2 趋势2. 使用方法2.1 功能介绍2.2 编译第一个程序2.3 搭建esp32的开发环境2.4 建立开发板与云平台的连接M5Stack串口驱动Device Agent简介远程串口打印3.优势与特点
之前在Linux系统移植时提到过LCD驱动,本篇来看下Linux设备树如何配置LCD驱动。
答:可以用, USB 2.0分两种,全速12M,高速480M; 所谓全速12M也就是USB 1.1的速率。
本次测试板卡是创龙科技旗下,一款基于全志科技T3处理器设计的4核ARM Cortex-A7高性能低功耗国产评估板,每核主频高达1.2GHz。评估板接口资源丰富,引出双路网口、双路CAN、双路USB、双路RS485等通信接口,板载Bluetooth、WIFI、4G(选配)模块,同时引出MIPI LCD、LVDS LCD、TFT LCD、CVBS OUT、CAMERA、LINE IN、H/P OUT等音视频多媒体接口,支持双屏异显、1080P@45fps H.264视频硬件编解码,并支持SATA大容量存储接口。
本次测试板卡为基于创龙科技TLT3-EVM是一款基于全志科技T3处理器设计的4核ARM Cortex-A7高性能低功耗国产评估板,每核主频高达1.2GHz。
OLED显示屏在是智能手环,智能手表上用的非常的多,功耗低,不刺眼,优点特别多。本篇文章就介绍,在Linux系统里如何使用OLED显示屏,要使用OLED显示屏,大致分为两步: (1) 针对OLED显示屏编写一个驱动 (2) 编写应用层程序进行测试。
最近在学习MIPI接口的LCD驱动开发与调试,这里我主要用的是MIPI-DSI接口,它学习起来真的是太复杂了,特别是对于我这种很久都没写驱动来说更是头疼,但是头疼归头疼,工作咱们还是要完成的,那就只能硬着头皮往下肝吧!
1 配置GPIO, In ..\ arm-linux-3.3\linux-3.3-fa\drivers\spiftssp010_spi.c
上一篇文章,我们简单的列举了MIPI-DSI驱动的一些常用参数的基本解读,但是那仅仅是走马观花走了一遍,真正深入往里钻的话还是很难的,文章如下:
参考: 全志显示量产问题快速排查指南.pdf 参考: D1_Tina_Linux_Display_开发指南.pdf
本文主要为嵌入式入门开发者的接口、网口等板卡基础快速测试,当初级学习的开发者拿到板卡,如何在最快时间内测试板卡正常?,继续测试教程(4)的CAN接口、VGA接口、7英寸LCD触摸屏、10.4英寸LVDS触摸屏、7英寸MIPI触摸屏测试部分,接下来是看门狗测试、网络接口(RGMII ETH、RGMII ETH)、AUDIO音频、CVBS OUT接口、TVIN接口等测试部分是否正常。
LCD 由一个一个像素组成:每行有 xres 个像素,有 yres 行,它的分辨率是:xres * yres。
目标检测的任务是找出图像中所有感兴趣的目标(物体),确定它们的类别和位置,是计算机视觉领域的核心问题之一。目标检测已应用到诸多领域,比如如安防、无人销售、自动驾驶和军事等。在许多情况下,运行目标检测程序的设备并不是常用的电脑,而是仅包含必要外设的嵌入式设备。别看嵌入式设备简陋,但在上面照样能够跑程序,实现我们的想法。设计一个嵌入式AI产品产品,一般会首先考虑成本,在有限的成本内充分利用硬件的性能。因此,不同高低性能的硬件使用场景各不同。
BusyBox 是一个集成了一百多个最常用linux命令和工具的软件。BusyBox 包含了一些简单的工具,例如ls、cat和echo等等,还包含了一些更大、更复杂的工具。有些人将 BusyBox 称为 Linux 工具里的瑞士军刀。简单的说BusyBox就好像是个大工具箱,它集成压缩了 Linux 的许多工具和命令,也包含了 Android 系统的自带的shell。BusyBox提供了一个比较完善的环境,可以适用于任何小的嵌入式系统。
本文为Linux-RT内核应用开发教程的第三章节——rt_input案例,欢迎各位阅读!本期用到的案例板子是创龙科技旗下的A40i工业级别开发板,是基于全志科技A40i处理器设计,4核ARM Cortex-A7的高性能低功耗国产开发板,每核主频高达1.2GHz。
根文件系统是Linux内核启动之后挂载的第一个文件系统,上篇文章里已经介绍过,如何使用busybox来制作根文件系统。这篇文章介绍根文件系统制作成功后,如何让内核找到文件系统,并完成挂载,进入到系统命令行终端。
6.6 使用freetype显示一行文字 使用GIT下载所有源码后,本节源码位于如下目录: 01_all_series_quickstart 04_嵌入式Linux应用开发基础知识\source\10_freetype 04_show_line\show_line.c
帧缓冲(framebuffer)是Linux 系统为显示设备提供的一个接口,它将显示缓冲区抽象,屏蔽图像硬件的底层差异,允许上层应用程序在图形模式下直接对显示缓冲区进行读写操作。用户不必关心物理显示缓冲区的具体位置及存放方式,这些都由帧缓冲设备驱动本身来完成。
编译器:友善之臂mini2440光盘自带arm-linux-gcc 4.4.3
op或者eop支持将代码烧写到Nor flash或nand flash,而市面上的jlink只能将代码烧写到nor flash中。
请先按照调试工具安装、Linux开发环境搭建相关文档,安装SecureCRT串口调试终端、VMware虚拟机等相关软件,按照Linux系统使用手册解压安装LinuxSDK开发包到Ubuntu。无特殊说明情况下,默认使用USB TO UART0作为调试串口,使用Linux系统启动卡(Micro SD方式)启动系统,通过路由器与PC机进行网络连接。
所有的电子产品,所用技术都可以认为要么是单片机,要么是Linux;GUI方面主要是QT/Android,它们都是运行于Linux之上的。
领取专属 10元无门槛券
手把手带您无忧上云