YAFSS移植

Yaffs 移植和编程实践指南 本文介绍了将 Yaffs 移植到 Linux 系统的过程,并提供了一些基本的编程实践示例。通过将 Yaffs 集成到 Linux 内核中,你可以在嵌入式系统中使用 Yaffs 强大的文件系统功能。Yaffs 是一个用于嵌入式系统的闪存文件系统,它提供了高效的文件存储和管理功能。Yaffs 的移植过程包括将 Yaffs 文件系统代码集成到 Linux 内核中,并进行必要的配置和修改。一旦成功将 Yaffs 移植到 Linux 系统中,你可以开始使用 Yaffs 提供的文件系统功能。 阅读详情
 1. 先下载yaffs2的 补丁
2.打补丁,在fs/patch -p1 xxxxxxxx
3.编译之后内核就支持yaffs了,但是要做好yaffs的分区,还是件麻烦事啊!
4.由于NAND Flash的特点,要先擦除再写,还得找到一个用来flash的工具,这就是 mtd_util
5.在/dev中添加flash的设备:
[root@swordzj /]$ cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00100000 00004000 "bootloader"
mtd1: 00200000 00004000 "kernel"
mtd2: 02800000 00004000 "root"
mtd3: 01500000 00004000 "user"
[root@swordzj /]$ ll /dev/mtd
crw-r--r--    1 root     root      90,   0 Jan  1 00:02 0
cr--r--r--    1 root     root      90,   1 Jan  1 00:02 0ro
crw-r--r--    1 root     root      90,   2 Jan  1 00:02 1
cr--r--r--    1 root     root      90,   3 Jan  1 00:02 1ro
crw-r--r--    1 root     root      90,   4 Jan  1 00:02 2
cr--r--r--    1 root     root      90,   5 Jan  1 00:02 2ro
crw-r--r--    1 root     root      90,   6 Jan  1 00:02 3
cr--r--r--    1 root     root      90,   7 Jan  1 00:02 3ro
[root@swordzj /]$ ll /dev/mtdblock/
brw-r--r--    1 root     root      31,   0 Jan  1 00:02 0
brw-r--r--    1 root     root      31,   1 Jan  1 00:02 1
brw-r--r--    1 root     root      31,   2 Jan  1 00:02 2
brw-r--r--    1 root     root      31,   3 Jan  1 00:02 3
看懂了吗?
6.把mtd_util编译成arm-linux下的程序,然后用其中的flash_eraseall  /dev/mtd/x 擦除你想擦除的分区,
然后挂上这个分区,mount -t yaffs /dev/mtdblock/x /mnt , 注意mtd 和 mtdblock的对应关系!然后你就可以往 flash里写东西了!很奇怪的是我不能直接把做好的文件系统的镜像直接烧在flash(用uboot或nandwrite等工具),那样做过后mount上的目录里只有lost+found一个目录。
yaffs2裸机移植过程.pdf yaffs2指导文档,帮助开发人员进行yaffs2裸机移植,步骤详细方向明确。介绍yaffs2的使用方法和测试函数接口。 立即下载

相关推荐

yaffs亲手移植总结(非常齐全)

由于项目需要,我在TI的dm365上移植了完整的yaffs文件支持,包括uboot支持yaffs烧写移植,对yaffs移植可能遇到的问题做了详细的解释,对大小页提供了不同支持工具。 遇到问题联系我。

嵌入式Linux开发——(十五)移植YAFFS文件系统

一、移植YAFFS文件系统 1)YAFFS文件系统的介绍     ①YAFFS(yet another flash file system)是一种类似于JFFS / JFFS2,专门为NAND Flash设计的嵌入式文件系统,适用于大           容量的存储设备     ②日志结构的文件系统,提供了耗损平衡和掉电保护     ③与JFFS相比,减少了一些功能,因此速度更快,占用内存...

90後_小熊大 博客 959

基于Python+OpenCV中文及符号检测

一、项目背景与意义在图像处理、文档识别、自动翻译等场景中,中文及符号的准确检测是一个重要且复杂的任务。传统的字符检测方法往往对英文等拉丁字母系的识别效果较好,但对中文及特殊符号的识别准确率较低。本项目旨在利用Python编程语言结合OpenCV库,开发一个能够高效、准确地检测图像中中文及符号的系统,为相关领域的研究和应用提供技术支撑。二、技术实现图像预处理:利用OpenCV的图像处理功能,对输入的图像进行灰度化、二值化、滤波去噪等预处理操作,以提高中文及符号检测的准确性[1]。

2301_79809972的博客 1119

yaffs2裸机移植

yaffs2在am335x的裸机移植

小树的博客 2590

RK3568部署YOLOv8的7种方法对比:量化vs非量化的性能实测与优化建议

本文针对RK3568平台,深度对比了YOLOv8模型的七种部署方法,重点分析了量化与非量化策略的性能差异。通过实测数据,详细评估了不同方法在推理速度、CPU占用、内存消耗及模型精度上的表现,并提供了从模型结构调整到系统级优化的具体建议,为边缘AI部署选型提供实用参考。

weixin_29099217的博客 527

Token算力工厂建设方案:从GPU集群到计量计费的全链路设计

在AI应用从“租核”走向“买Token”的范式转换中,算力交付的核心指标已不再是vCPU或GPU实例,而是单位时间内的Token产出量与单Token成本。这一变化推动基础设施从资源租赁向计件生产演进,要求GPU集群、推理引擎、调度系统、计量计费等模块像工厂产线一样协同运转。本文从硬件异构混部、存储网络设计、推理引擎调优、Token网关与配额管理、稳定性治理等维度,系统拆解如何构建一座可量化、可计费、可扩展的Token算力工厂,并给出分三期落地的推进节奏,帮助架构师与技术管理者在AI基础设施建设中实现成本可控

weixin_29095587的博客 262

NandFlash驱动和Yaffs文件系统的移植

2.6的内核自带了NandFlash驱动,移植起来就非常方便在arch/arm/mach-s3c2410/devs.c中添加#include #include #include static struct mtd_partition nand_partitions[] = { [0] = {  .name = "nanduser",  .size = SZ_64M,  .offset = 0,

ARM Linux and soul 2323

DeepSeek+即梦:AI视频创作从0到1全突破

本文为 DeepSeek 与即梦生成视频全攻略,从前期注册登录、熟悉工具界面及硬件网络准备入手,助读者开启 AI 视频创作。详细阐述利用 DeepSeek 构思脚本、即梦实现画面生成与静态图转动态视频的方法,包括提示词编写、参数调整等技巧。同时介绍后期合成音画、添加字幕特效及多平台适配要点,结合实战案例解析全流程。还分享进阶提示词优化、版权注意等避坑指南,为创作者提供从 0 到 1 的 AI 视频创作完整解决方案。

邓邓子的博客 8101

yaffs 文件系统移植

3.Yaffs 文件系统移植     当使用 linuette 现成提供的 zImage.yaffs 和 usr.yaffs 是不能正常启动桌面系统的,因为它们提供 的包含 yaffs 的测试内核,支持的 LCD 是 320*480,以及触摸板的驱动也没有修改,所以必须在原来的内 核源代码中移植 yaffs 文件系统,才能在支持 yaffs 系统的同时,任意修改内核代码部分,如 LCD 分

happygongzhuo的专栏 1190

【漏洞复现】永恒之蓝 MS17-010 远程溢出漏洞(CVE-2017-0143)

文章目录声明前言一、漏洞原理简述二、漏洞代码深层解析三、实验步骤四、漏洞补丁总结 声明 本篇文章仅用于技术研究与技术学习,切勿用于非授权下攻击行为,切记! 前言 Windows7 存在 MS17-010 永恒之蓝(远程溢出漏洞) ,该漏洞是方程式组织在其漏洞利用框架中一个针对SMB服务进行攻击的漏洞,该漏洞导致攻击者在目标系统上可以执行任意代码 一、漏洞原理简述 MS17-010漏洞出现在Windows SMB v1中的内核态函数 srv!SrvOs2FeaListToNt 在处理FEA(File Ex

李同學AI安全 9627

【AHE数据集】历史/未来全球网格热排放数据 PF-AHF

AHE数据集

WW、forever的博客 127

yaffs2移植

昆明理工大学嵌入式实验室(szarm@21cn.com szarm@tom.com) (转载请注明出处) ==================================================================== 一、简介: Yaffs(Yet Another Flash File System)文件系统是专门针对NAND 闪存设计的嵌入式文件系统,目前

wfeng 1309

【Bug已解决】Codex CLI 报错 apply_patch 失败:无法应用补丁的解决方案

方案适用场景推荐指数统一换行符规范跨平台协作项目的标准配置⭐⭐⭐⭐⭐关闭自动格式化冲突IDE 与 Codex 并发编辑同一文件⭐⭐⭐⭐缩小任务改动范围长期有效的使用习惯优化⭐⭐⭐⭐⭐统一 UTF-8 编码涉及非 UTF-8 遗留文件的项目⭐⭐⭐提示重新读取文件单次失败后的快速恢复方式⭐⭐⭐⭐报错的本质是Codex 生成补丁时读取的文件内容,与实际应用补丁时磁盘上的文件内容出现了不一致,常见诱因包括换行符风格混用、文件被其他工具并发修改、编码问题等。

一键难忘的博客 7291

Yaffs2根文件系统移植

Yaffs2根文件系统移植 一、创建文件夹 1.创建主工作文件夹【mkdir arm2410】 2.【cd arm2410】 3.创建内核移植文件夹【mkdir rootfs】 二.自动生成根文件系统文件夹结构【rootfs】文件夹  1.进工作目录[cd rootfs]  2.编辑生成脚本文件[gedit mkrootfs.sh] 将以下内容拷贝到弹出的窗口中,注意保存!! #!

ConceptCon 775

Python 爬虫教程:企业官网基本信息抓取

本文介绍了使用Python爬虫技术抓取企业官网信息的方法,包括公司名称、简介、联系方式、地址、产品及新闻等数据。通过Requests和BeautifulSoup库实现网页请求与解析,并利用Pandas存储数据为CSV文件。同时提供了应对反爬虫机制(如设置User-Agent、代理IP池、延迟请求等)的解决方案,帮助高效获取企业公开数据。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1859

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

关于YAFFS2文件系统移植的一些参考资料

 作者:唐老师,华清远见嵌入式学院讲师。 本文章主要针对FS100,S5PC100的Android4.0.4 Yaffs2文件系统移植过程,对于类似Android系统或类似Linux内核(版本高于2.6.35)有参考意义。 本文分两部分:         1.Nandflash驱动移植         2.Yaffs2文件系统移植 一、Nandflash驱动移植 由于内核里面

Gezhengzhong的专栏 1021

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

mini2440 linux移植开发实战指南,mini2440_Linux移植开发指南学习笔记(二)yaffs2移植 未完...

mini2440_Linux移植开发指南学习笔记(二)yaffs2移植(Fedora9)参考:http://blog.chinaunix.net/uid-25194149-id-3235257.htmlhttp://blog.youkuaiyun.com/cinmyheart/article/details/38747505http://blog.youkuaiyun.com/hl5654/article/detail...

weixin_36371906的博客 326

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Yaffs文件系统简介

1 简介 1.1 应用场合         Yaffs(Yet Another Flash File System)文件系统是专门针对NAND闪存设计的嵌入式文件系统,目前有YAFFS和YAFFS2两个版本,两个版本的主要区别之一在于YAFFS2能够更好的支持大容量的NAND FLASH芯片。 1.2 Yaffs文件系统数据在NAND上的存储方式         Yaffs对文件系统上的所

曹太强的专栏 4972

yaffs的移植

1. 先下载yaffs2的补丁2.打补丁,在fs/patch -p1 xxxxxxxx3.编译之后内核就支持yaffs了,但是要做好yaffs的分区,还是件麻烦事啊!4.由于NAND Flash的特点,要先擦除再写,还得找到一个用来flash的工具,这就是mtd_util5.在/dev中添加flash的设备:[root@swordzj /]$ cat /proc/mtddev:    size  

2109

Yaffs 文件系统分析

1 Yaffs文件系统结构1.1 简介1.1.1 应用场合        Yaffs(Yet Another Flash File System)文件系统是专门针对NAND闪存设计的嵌入式文件系统,目前有YAFFS和YAFFS2两个版本,两个版本的主要区别之一在于YAFFS2能够更好的支持大容量的NAND FLASH芯片。Yaffs文件系统有些类似于JFFS/JFFS2文件系统,与

colorant的专栏 2万+

编写简单文件系统

1. 前言 文件系统是操作系统向用户提供一套存取数据的抽象数据结构,方便用户管理一组数据。文件系统在Linux操作系统中的位置在下图红框中标出,如Ext2、Ext4等。而在windows中现在常用的文件系统为NTFS、exFAT等,想必大家在格式化U盘、硬盘的时候就经常见到了。 为什么要用文件系统来存取数据呢?是为了图个方便。试想如果没有文件系统,放置在存储介质(硬盘)中的数据将是一个庞大的数据主体,无法分辨一个数据从哪里停止,下一个数据又从哪里开始。通过将数据分为一块一块的,并为每一块都赋予一个名字,数

风雨夕的博客 2779

linux-4.1.15移植yaffs2 之编译

1.下载yaffs2源码 git clone git://www.aleph1.co.uk/yaffs2 2.补丁到linux4.1.15内核 cd yaffs2 ./patch-ker.sh cm ~/home/xxx/imx6ul-qt5.6/linux-4.1.15(这里根据你内核的路径进行修改) 3.直接修改目标deconfig文件后编译进内核 4.或是通过make men...

轮子工厂 980

yaffs移植

yaffs2移植只要实现下面的接口就可以 #define YAFFS_OK 1 #define YAFFS_FAIL  0 //初始化 INT32U HAL_NandInit(void* p) {  NF_InitCfg();//底层的nand初始化驱动  return 0; } //读flash void HAL_NandReadId(INT32U *pulNandID1,

lin415804的专栏 866

S5PV210开发系列八_Yaffs的移植

S5PV210开发系列八 Yaffs的移植 象棋小子    1048272975 Nand作为市面上最主要的非易失性闪存技术之一,应用在各种固态大容量存储解决方案中。由于Nand flash自身的特点,Nand存储器往往需要一款专用的Nand文件系统进行管理。开源的Yaffs文件系统由于其优异的性能,在Nand flash中受到广泛的应用,笔者此处就Yaffs的移植作一个简单的介绍。 1.

huang20083200056的专栏 1934

【移植Linux 3.4.2内核之四】修改内核代码支持YAFFS文件系统

上一篇文章,我们从0制作jffs2文件系统,因为我们的内核本身就支持iffs2文件系统,但是它不支持yaffs文件系统。今天我们就来修改内核代码,让内核支持yaffs文件系统的格式。 1.首先我们获取yaffs源码 我是通过git获得,当然源码获得的途径很多,需要源码的可以加我最底下的联系方式。 在Linux系统中,输入: git clone git://www.aleph1.co.u

厚积薄发 1405
上一篇: linux udev认识
下一篇: yaffs2文件系统制作 .
flymachine
博客等级 码龄23年 253粉丝 34原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值