蜗窝科技

蜗窝科技

蜗窝科技 —— 嵌入式 Linux 内核技术笔记与讨论存档

共 373 篇技术笔记(2014–2026)· 讨论区存档(163 个主题) · 数据下载

eMMC 原理 2 :eMMC 简介

作者:codingbelief · 发布于 2017-01-12 20:28 · 基础技术

eMMC 是 embedded MultiMediaCard 的简称。MultiMediaCard,即 MMC, 是一种闪存卡(Flash Memory Card)标准,它定义了 MMC 的架构以及访问 Flash Memory 的接口和协议。而 eMMC 则是对 MMC 的一个拓展,以满足更高标准的性能、成本、体积、稳定、易用等的需求。

阅读全文 » · 标签 emmc · 评论 3 · 浏览 36791

Linux MMC framework(1)_软件架构

作者:wowo · 发布于 2017-01-10 22:24 · 通信类协议

由[1]中MMC、SD、SDIO的介绍可知,这三种技术都是起源于MMC技术,有很多共性,因此Linux kernel统一使用MMC framework管理所有和这三种技术有关的设备。 本文将基于[1]对MMC技术的介绍,学习Linux kernel MMC framework的软件架构。

阅读全文 » · 标签 LinuxKernel内核架构Architectureframeworkmmc · 评论 9 · 浏览 28162

eMMC 原理 1 :Flash Memory 简介

作者:codingbelief · 发布于 2017-01-09 19:28 · 基础技术

eMMC 是 Flash Memory 的一类,在详细介绍 eMMC 之前,先简单介绍一下 Flash Memory。 Flash Memory 是一种非易失性的存储器。在嵌入式系统中通常用于存放系统、应用和数据等。在 PC 系统中,则主要用在固态硬盘以及主板 BIOS 中。另外,绝大部分的 U 盘、SDCard 等移动存储设备也都是使用 Flash Memory 作为存储介质。

阅读全文 » · 标签 emmc · 评论 2 · 浏览 36192

X-022-OTHERS-git操作记录之合并远端分支的更新

作者:wowo · 发布于 2017-01-02 22:26 · X Project

本文将以“ X Project ”的开发过程为例,介绍“合并远端分支的更新”的方法。事情的起因如下: “ X Project ”是一个学习嵌入式Linux开发全过程的小项目,项目开始的时候,u-boot、linux kernel等代码,都是直接从官方仓库的当前状态获取的(具体可参考[2])。以u-boot为例,“ X Project ”的u-boot [3] 是2016年4月23日从u-boot的

阅读全文 » · 标签 gitremoteu-bootmergedenxadd · 浏览 7401

MMC/SD/SDIO介绍

作者:wowo · 发布于 2016-12-25 21:52 · 基础技术

熟悉Linux kernel的人都知道,kernel使用MMC subsystem统一管理MMC、SD、SDIO等设备,为什么呢?到底什么是MMC?SD和SDIO又是什么?为什么可以用MMC统称呢? 在分析Linux kernel的MMC subsystem之前,有必要先介绍一些概念,以便对MMC/SD/SDIO有一个大致的了解,这就是本文的目的。

阅读全文 » · 标签 emmcmmcsdsdio · 评论 6 · 浏览 55971

基于Hikey的"Boot from USB"调试

作者:wowo · 发布于 2016-12-20 22:36 · X Project

话说在半年前,乐美客送给蜗窝几块Hikey(乐美客版)开发板 [1] ,不过由于太忙,就一直把它们放在角落里思考人生,因此甚是愧疚。这几天,闲来无事,翻了下Hikey的资料,觉得挺有意思,就想花点时间让“ X Project ”在这个板子上跑起来。当然,按照“规矩”,先从“ 【任务1】启动过程-Boot from USB ”做起,记录如下。

阅读全文 » · 标签 USBbootu-bootsplhikeyHi6220V100 · 评论 1 · 浏览 11618

Linux serial framework(1)_概述

作者:wowo · 发布于 2016-12-12 22:04 · 通信类协议

串口设备(serial or uart,后面不再区分)是TTY设备的一种,Linux kernel为了方便串口驱动的开发,在TTY framework的基础上,封装了一层串口框架(serial framework)。该框架尽可能的屏蔽了TTY有关的技术细节(比较难懂),驱动工程师在编写串口驱动的时候,只需要把精力放在串口以及串口控制器本身即可。 本文将通过对serial framework的简单分

阅读全文 » · 标签 Linuxdriverframeworkserial框架串口 · 评论 10 · 浏览 19535

快讯:蓝牙5.0发布(新特性速览)

作者:wowo · 发布于 2016-12-08 11:05 · 蓝牙

2016年12月6日,蓝牙SIG发布了5.0版本的核心规范,该规范从距离、速度等多个方面,对BLE进行了增强,蓝牙官网的总结如下 [1] : With the launch of Bluetooth 5, Bluetooth® technology continues to evolve to meet the needs of the industry as the global wireles

阅读全文 » · 标签 蓝牙Bluetooth5.02MExtensions · 评论 10 · 浏览 35447

X-021-ROOTFS-基于busybox的最简rootfs的制作

作者:wowo · 发布于 2016-12-05 22:50 · X Project

在前一篇文章 [1] 中,我们编写并成功运行了一个简单的init程序。于是,“ 【任务4】启动Linux kernel到命令行 ”就成了一个水到渠成的事情。当然,只有一个简单的程序还不够,我们要来点实在的,一个真正的根文件系统。 Linux系统中制作根文件系统的方法有很多种,基于一个个package一点点编译、利用buildroot、利用busybox、等等,本文将以嵌入式系统中普遍使用的busy

阅读全文 » · 标签 rootfsbusyboxinittabrcS · 浏览 13682

X-020-ROOTFS-initramfs的制作和测试

作者:wowo · 发布于 2016-12-03 11:08 · X Project

我们在“ X-015-KERNEL-ARM generic timer driver的移植 ”中移植完ARM generic timer之后,Linux的启动已经走完了内核空间的旅程,即将冲破kernel走向用户空间,有“诗”为证: [ 0.142156] ---[ end Kernel panic - not syncing: No working init found. Try passing

阅读全文 » · 标签 GICinitramfsrandiskelfrootfs · 浏览 10970