在Ubuntu上搭建E-Ink AM-100开发环境

Windows CE的显示设备驱动笔记   显示驱动概述一、显示设备驱动接口(DDI)是Windows NT DDI的子集。WinCE的显示驱动和NT的有三点不同:1.CE的显示驱动功能单一,GDI不会去查询一个驱动的设备能力2.对于一个复杂的操作,CE的显示驱动不会拒收并把它还给GDI让GDI将其分解成一系列简单的操作,因为CE的显示驱动自己具备这个功能(分解的功能?),GDI会在调用显示驱动之前将操作进行分解。 阅读详情
E-Ink的AM-100 Active Matrix Prototyping Kit主要由4块板组成:
6英寸Active matrix display
Apollo显示控制模块
Gumstix单板计算机(基于Intel XScale PXA 255)
串口适配器

一、编译Gumstix
1,安装必须的软件包。
>sudo apt-get install build-essential libncurses-dev bison flex texinfo zlib1g-dev gettext
装好后尤其要记得检测一下makeinfo工具是否可用,我就是在这里卡了好几天。

2,安装Subversion,已经装过的跳过。
>sudo apt-get install subversion wget subversion-tools

3,解压缩AM-100配套光盘上的压缩包thinspace-1-00.tar.gz到一个目录下。
我是放在/home/dmbi/thinspace下。也可以通过CVS连到EInk网站去获取最新的thinspace(密码是anonymous):
>cvs -d:pserver:anonymous@support.eink.com:/home/cvsroot/ login
>cvs -z3 -d:pserver:anonymous@support.eink.com:/home/cvsroot/ co thinspace

4,获取Gumstix,把它放到thinspace目录的子目录下,这里我是放在thinspace/gumstix目录下的(am100soft文档要求下载643版本的buildroot,不过不一定非要这个版本的)。
>cd /home/dmbi/thinspace
>mkdir gumstix
>svn co -r 643 http://svn.gumstix.com/gumstix-buildroot/trunk gumstix(备注:用export代替co也可以)
PS1:光盘上附带的am100soft文档里给出的svn服务器地址是http://svn.rungie.com/svn/gumstix-buildroot/trunk,试了一下连不上去。
PS2:虽然不一定要用643版本的,1432版本的buildroot我试过也可以烧入开发板正常运行,但是AM-100开发板上的Flash容量只有4M,较新的buildroot最终生成的文件系统大约有3.5M,解压缩之后Flash只剩下60K的空间了,不够mount MMC卡,那些测试程序如果放在MMC卡上也就无法执行了,只能预先拷入thinspace/gumstix/build_arm_nofpu/root/bin下,在make打包进根文件系统。

5,buildroot在make的时候默认是不生成C++交叉编译器的,因为在test程序是用C++写的,所以我们先设定make的时候生成g++。
如果你下载的buildroot版本小于等于775,进入/home/dmbi/thinspace/gumstix目录,打开makefile,找到“INSTALL_LIBSTDCPP:=false”,改为“INSTALL_LIBSTDCPP:=true”即可;
如果buildroot版本高于775,那么makefile里已经找不到INSTALL_LIBSTDCPP这个变量了。改用如下方法打开C++选项:
>cd thinspace/gumstix
>make menuconfig
进入Toolchain Option菜单,往下翻,找到“Build/install c++ compiler and libstdc++?”,设为Enable,保存退出。
然后删除之前的gcc设定:
>rm toolchain_build_arm_nofpu/gcc-*-final/.configured
接着命令行输入:
>grep LIBSTDCPP .config
如果显示“BR2_INSTALL_LIBSTDCPP=y”,说明C++选项已经正确打开了。
注意:以上设定做完后,make可能仍然会出错,保险起见,make之前先删除目标目录:
>rm -rf toolchain_build_arm_nofpu

6,编译toolchain和内核。
因为demo程序需要内核中的一些功能,先添加进去:
>cd gumstix/build_arm_nofpu/busybox-1.00
>make ARCH=arm CROSS_COMPILE=arm-linux- menuconfig
选中以下几个选项:
Archival Utilities: bunzip2
Coreutilities: usleep, wc
Miscellaneous Utilities: string, time
Linux System Utilities: hexdump
最后开始编译整个根文件系统:
>make DEPMODE=/bin/true
这个时间比较久,因为需要下载一堆东西,对于643版本,这些东西默认下载在gumstix-buildroot/sources/dl目录下,对于较新的buildroot,下载在gumstix-buildroot/dl下,这些东西可以保存起来下次编译就不用下载了,要注意buildroot的版本不同,所下载的package的版本也不同,不可混用。编译完成后,buildroot目录下会出现root_fs_arm_nofpu、uboot.bin、uboot.srec三个文件。
PS1:如果你所用的是Ubuntu系统,make到执行sh patchin.sh时会出现问题,报告“(” unexpected,这是因为Ubuntu用dash代替了bash,dash是一个简化版的shell,解决的办法就是改用bash:
>cd /bin
>sudo rm sh
>sudo ln -s bash sh
然后回到buildroot目录再次执行make。
PS2:因为643版本较老,所以有些package的下载链接已经失效了,如果出现无法下载的情况,有两种解决办法,一时去google上搜,手动下载压缩包,下载好后放到%gumstix-buildroot%/sources/dl下就可以了,但是有一个压缩包比较特殊,就是hostapd-0.3.9.tar.gz。我发现这个压缩包每次make时都要连上internet去下载,即使预先下载放到dl目录下也没用。一劳永逸的办法是去搜一个确保可下载的链接,然后修改%gumstix-buildroot%/hostap.mk文件,把HOSTAP_URL替换成可用的链接(注意后面不要把压缩包的文件名也加上),譬如我设成:HOSTAP_URL=http://ftp.escom.bg/Linux/wireless。
PS3:对于643版本,编译出来的根文件系统文件名是root_fs_arm_nofpu,对于较新的版本,编译出来的根文件系统文件名是rootfs.arm_nofpu.jffs2

7,编译测试程序
首先把编译出来的交叉编译器arm-linux-gcc、arm-linux-g++等加入环境变量PATH:
>cd /home/dmbi/thinspace
>source add_gumstix_tools.sh
然后编译测试程序:
>cd display_tools
>make clean
>make
>cd ..
>cd gumstix_tests
>make clean
>make
编译完成后会在这两个目录下生成几个可执行文件。

8,烧入开发板。
首先要配置minicom,进入miniconm按Ctrl+A再按Z进入设置菜单。先按P设置串口参数为115200 8N1。保存退出。再次返回主菜单,按O,选择Serial port setup,进入子菜单按A选择串口设备,这里我设成/dev/ttyS0,表示串口1,按F选择Hardware Flow Control为No(否则键盘会失效),保存退出后重新启动minicom。
取出开发板自带的MMC卡,将以下几个文件拷入MMC卡:
把编译好的这几个文件拷入MMC卡:
root_fs_arm_nofpu(对于较新的buildroot应该是rootfs.arm_nofpu.jffs2)
../gumstix_test/gcc_test
../gumstix_test/cpp_test
../gumstix_test/run_test.sh
../gumstix_test/check_utils.sh
把MMC卡插入开发板,打开终端运行minicom,插上开发板电源,按任意键进入uboot命令行模式,输入以下命令:
GUM> mmcinit
GUM> fatload mmc 1 a2000000 root_fs_arm_nofpu
GUM> era 1:2-31
GUM> cp.b a2000000 40000 ${filesize}
GUM> boot
用root账户登录,密码是gumstix,mount MMC卡:
# mount /mnt/mmc
# cd /mnt/mmc
# ./run_test.sh
# ./check_util.sh
两个测试都应该正确通过,否则请检查前面的相关步骤。
ubuntu22.04安装中文输入法 方案一:安装 Fcitx5(推荐,体验更佳)Fcitx5 相比旧版响应更快,对 GTK/Qt 应用兼容性好,适合日常办公和开发。注:如需支持 GTK2 老旧程序,可额外加上 fcitx5-frontend-gtk2。执行后注销并重新登录(或重启),确保框架生效。配置中文输入法重新登录后,右上角托盘会出现键盘图标。右键点击图标选择“配置”(或运行 fcitx5-configtool):在“输入法”选项卡中,点击“+”号。取消勾选“仅显示当前语言”,搜索并添加 Pinyin。 阅读详情

相关推荐

手把手教你用CsvView分析大疆无人机飞行日志(附实战CTF题解)

本文详细介绍了如何使用CsvView工具分析大疆无人机飞行日志,包括环境搭建、日志提取、核心功能解析及CTF实战技巧。通过实战案例,帮助读者掌握无人机取证的关键技术,提升日志分析能力,特别适合网络安全竞赛和实际取证场景。

weixin_42652674的博客 458

Buildroot OpenJDK 编译配置

平台 Ubuntu 20.04 + Buildroot 2021.02 + OpenJDK 11.0.8 目标 配置Buildroot使能OpenJDK, 编译后模拟器运行如下: ~/codes/buildroot-2021.02$ ./output/images/start-qemu.sh VNC server running on ::1:5900 Booting Linux on physical CPU 0x0 Linux version 5.10.7 (anson@server4) (arm-b

ansondroider的博客 2047

静态时序分析Static Timing Analysis1——STA概述、标准工艺库、时钟、IO约束的建立

简要介绍STA和标准工艺库内容,对时钟,IO等进行约束的指令介绍,PVT

qq_42135020的博客 7542

OpenWrt:安装c++支持库libstdcpp

缺少此库会报缺少libstdc++.so.6错误。

草上爬的博客 2834

双卡RTX 3090实战:基于vLLM高效部署Qwen2.5-14B BF16大模型的完整指南

本文提供了在双卡RTX 3090上使用vLLM推理框架高效部署Qwen2.5-14B BF16大模型的完整实战指南。内容涵盖硬件配置、系统环境准备、vLLM核心原理与安装、模型获取、详细部署步骤(包括脚本启动与API服务),以及性能调优与避坑技巧,旨在帮助开发者充分利用硬件性能,实现稳定、高速的本地大模型推理服务。

yy01234的博客 1513

Handler相关面试题

常见面试题: Handler相关 一.谈一谈你对handler的认识,例如:机制和实现等。 handler机制图解: handler常见使用过程: ①.子线程向主线程发送消息: 在主线程中新建Handler实例,并重写handleMessage()方法用于处理子线程传过来的message; 通过Message.obtain()方法获取到消息msg,然后将需要传递给主线程的信息通过msg的what、obj等字段传递; 通过handler的sendMessage发送msg消息,然后在hand

龚礼鹏的博客 3171

linux buildroot 配置

# # Automatically generated make config: don't edit # Buildroot 2011.02-dirty Configuration # Tue Jun 28 10:07:00 2016 # BR2_HAVE_DOT_CONFIG=y BR2_arm=y # BR2_armeb is not set # BR2_avr32 is n

lbaihao的专栏 5447

YOLO系列算法改进 | 自研篇 | C3k2融合Circulant Attention注意力模块 | 给局部特征提取器装上了全局动态卷积核,兼顾效率、精度与泛化能力!| AAAI 2026

YOLO系列算法改进 | 自研篇 | C3k2融合Circulant Attention注意力模块 | 给局部特征提取器装上了全局动态卷积核,兼顾效率、精度与泛化能力!| AAAI 2026 (以YOLO26最新目标检测模型为基础,融合C3k2_Circulant创新模块改进Backbone)

2502_91881744的博客 242

Buildroot 源码学习-toolchain

Buildroot 的工具链生成是一个高度模块化的过程,通过 Kconfig 和 Makefile 规则将内核头文件、C库、编译器、binutils 等组件动态组合。

秋の水 1576

2026 MCM Problem A:智能手机电池连续时间建模——完整解题思路附第一问解题代码

摘要:本文针对2026年MCM A题"智能手机电池连续时间建模"问题,提出基于能量守恒原理的微分方程模型。通过建立以SOC(t)为状态变量的动态系统,将屏幕亮度、处理器负载等主要耗电因素纳入统一功率框架,实现了不同使用场景下的电量变化精确描述。研究表明,屏幕亮度和CPU负载对续航时间影响最大,温度与后台任务会产生放大效应。该模型具有物理可解释性和应用扩展性,为手机电源管理提供了理论依据。(150字)

一键难忘的博客 771

【Bug已解决】Codex CLI 运行时出现 command not found: codex 解决方案

方案适用场景推荐指数修复 PATH 配置最常见的基础排查方向⭐⭐⭐⭐⭐检查原生二进制完整性PATH 正常但执行仍然异常⭐⭐⭐⭐统一包管理器混用多种包管理器导致混乱⭐⭐⭐⭐确认安装脚本未被跳过CI/CD 或企业策略环境⭐⭐⭐⭐排查网络下载渠道企业内网/受限网络环境⭐⭐⭐需要留意 warning 中是否涉及脚本执行失败、网络超时重试等信息,这类 warning 往往是后续问题的前兆,建议出现明显的下载/网络相关警告时就主动重新安装一次确认。Codex CLI 报。

一键难忘的博客 1万+

Buildroot用户手册

https://buildroot.org/downloads/manual/manual.html Buildroot用户手册 目录 一,入门 1.关于Buildroot 2.系统要求 2.1。强制性包裹 2.2。可选包 3.获得Buildroot 4. Buildroot快速入门 5.社区资源 II。用户指南 6. Buildroot配置 6.1。交叉编译工具链 6.2。/ dev管理 6.3...

阿路 4945

【数据集实例】CMIP6气候模式数据下载-以河东地区为例

以河东地区为例,介绍CMIP6数据下载及处理

WW、forever的博客 4951

从Arduino到墨水屏:三大开源硬件项目解析与实战指南

嵌入式开发与开源硬件是物联网和智能设备领域的核心技术,其核心原理在于通过微控制器和开源软硬件平台,实现对物理世界的感知与控制。这项技术的价值在于降低了硬件创新的门槛,使开发者能够快速构建原型并实现产品化。在应用场景上,它广泛覆盖了智能家居、可穿戴设备、工业控制以及教育创客等领域。本文聚焦于当前硬件开发中的三个热门实践方向:追求极致微型化的32位Arduino兼容开发板,它代表了硬件尺寸与功耗的极限优化;基于开源软硬件栈重构的电子墨水屏阅读设备,体现了对封闭系统的突破与定制自由;以及在低刷新率墨水屏上实现流畅

weixin_34033624的博客 484

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

17. Buildroot用户手册-将软件包添加到Buildroot

本节介绍如何将新软件包(用户空间的库或应用程序)集成到Buildroot中。它还显示了如何集成现有的软件包,这是解决问题或调整其配置所必须的。 添加新软件包时,请确保在各种条件下对其进行测试(请参阅第17.23.3节“如何测试您的软件包”),并检查其编码格式(请参阅第17.23.2“如何检查编码格式”)。 17.1 软件包目录 首先,在package目录下为你的软件包创建子目录,例如libfoo。 一些软件包已经通过主题子目录进行了分组,如x11r7、qt5和gstreamer。如果你的软件包属于这些类别,

海漠的博客 1万+

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

busybox中tar添加gzip支持

buildroot中目录下 make busybox-menuconfig Archival Utilities --->[*] Make tar, rpm, modprobe etc understand .gz data # tar BusyBox v1.27.2 (2020-03-05 16:03:35 CST) multi-call binary. Usage: ...

m0_37874806的博客 2705

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

E-Ink电子墨水技术原理、发展、特点分析

北京时间01月26日消息,中国触摸屏网讯,概述     E-Ink一般称之为“电子墨水技术”(电泳式电子纸),它是一种屏幕技术,E-Ink的电子纸由电子墨水及两片基板所组成,它上面涂有一种由无数微小的透明颗粒组成的电子墨水,颗粒直径只有人的头发丝的一半大小。只要调整颗粒内的染料和微型粒子的颜色,便能够使电子墨水展现色彩和图案来。当这种电子墨水被涂到纸、布或其他平面物体上后,人们只要适当地对它予以

Mage的专栏 4454

Windows CE中的字库链接

先翻译MSDN中关于链接字体的解释:Windows Embedded CE提供了链接字库的能力,它可以将一个或多个字库链接到另一个字库上,前者称为被链接字库,后者称为基本字库。一旦你链接了字库,你就可以使用被链接的字库显示在基本字库中不存在的码字。比如,将日文字库链接到拉丁字库,你就可以在使用拉丁字库的UNICODE文本API中显示日文字符。如果你的设备上启用了字库链接,你可以通过

人是会思考的一棵苇草 3650

定制自己的Windows CE 5.0 ARM中文模拟器

一、生成OS1. 安装Windows CE 5.0(记得CPU类型里把ARMV4I选上)装完之后装DeviceEmulatorBSP.msi,这是ARMV4I模拟器的BSP。2. 运行Platform Builder,新建一个Platform,给你的新Platform取一个名字,我这里取为MyCEEmu。BSP选择Microsoft DeviceEmulator:ARMV4I,Design

人是会思考的一棵苇草 3194

Windows Embedded Codenames

Windows CE 1.0 - Alder (Nov 1996)Windows CE 2.0 - Birch (Nov 1997)Windows CE 3.0 - Cedar (Apr 2000) Windows CE 4.0 - Talisker (Jan 2002) Windows CE 4.1 - Jameson (Jun 2002) Windows CE 4.2 - McKendric

人是会思考的一棵苇草 851

Ubuntu Linux中安装WorkBuddy

使用Electron打包的桌面程序,在Linux下经常会遇到这个问题,在运行命令的后面加个。这时候有个常见的小坑,直接打开是不行的,我们可以看下他默认图标怎么启动程序的。就可以了,登录后也是正常的。我们先彻底修复一下,在desktop里面修改一下。直接通过dpkg安装即可,如果安装失败少什么依赖,可以执行。

逸鹏说道 627

Ubuntu 下网络请求异常排查:本地端口冲突与环境变量配置(Sign-in could not be completed)

本文介绍 Ubuntu 环境下网络请求异常的排查方法,重点分析本地端口占用、后台进程残留及环境变量配置问题,并通过 ss、curl、ps 等命令检查网络连接,结合用户会话和桌面应用配置,提供一套完整的 Linux 网络故障排查思路。

m0_73177436的博客 290

什么是 Redis 以及如何在系统(Ubuntu、Debian、AlmaLinux、Rocky 或 CentOS)上安装它

Redis是基于内存的高速数据存储系统,广泛用于缓存、会话管理和任务队列。在Ubuntu/Debian上用apt安装,AlmaLinux/Rocky/CentOS上用dnf安装,均通过systemctl enable --now redis-server启动并设为开机自启。使用redis-cli测试ping响应及set/get操作验证功能。务必配置bind 127.0.0.1和requirepass密码以保障安全,避免暴露于公网。适用于WordPress、Laravel等应用加速。

csdn_aspnet的专栏,请点击博客主页右上角三个点中的私信联系 326

Ubuntu学习笔记-配置Gitea通过https访问

本文记录在 Ubuntu(树莓派 aarch64)环境下为 Gitea 1.26.4 配置 HTTPS 访问的完整过程。先说明 HTTP 与 HTTPS 的差异及自签名证书的适用场景,再使用 OpenSSL 手动生成带 SAN 的本地自签名证书,依次完成创建证书目录、编写 openssl.cnf、生成 RSA 私钥与 CSR、自签名签发证书、校验证书与密钥匹配、设置文件权限等步骤;随后修改 Gitea 的 app.ini 将 ROOT_URL 切换为 https,并调整 Nginx 反向代理引用证书、开启

向往的是:佛祖堂前的鱼,静静听禅。 202

ubuntu日常ollama

架构:Ollama 跑在 GPU1,ComfyUI 在 GPU0;优先 8B 档位,14B 短上下文可跑、长文本容易 OOM;Q4_K_M,约 5.2G,适合你的 3080 10G 卡,写 python、ComfyUI 节点脚本很好用Ollama。32B / 70B 系列:Q4 都要 18G+,会大量丢内存到 RAM,速度极慢。拉不下来,提示文件不存在Ollama。最小也是十几 B,10G 3080 不友好,不建议。,官方原版只有 30b / 480b,所以。,用哪个就开哪个,另一个关掉。

jekc2008的专栏 206
上一篇: 与VC6相配的SDK版本
下一篇: IFS FAQ(转自OSR)
会思考的草
博客等级 码龄25年 208粉丝 55原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值