• [分享交流] Manjaro Linux 32 位已死
    自 64 位处理器成为主流处理器以来已经有很长一段时间了。但是由于某些原因,一些开发人员仍在继续维护 32 位版本的操作系统。其中就包括微软,该公司直到 2020 年都仍支持 32 位 Windows 10 操作系统。不过随着 64 位系统逐渐成为市场的唯一选择,微软目前也已经开始取消 Windows 10 对 32 位系统的支持。而另一方面,许多 Linux 发行版(例如 Fedora、Tails 和 Linux Mint)则早都已经取消了其 32 位版本,选择专注于 64 位版本的开发。现如今,又有一个主要的 Linux 发行版也紧跟其后。Manjaro Linux 方面表示,由于时间不足和硬件故障的原因,manjaro32 已停止运行。正如 betanews 所表述的那样,从某些方面说,32 位计算机已经过时,对 32 位操作系统的持续维护也会造成一定资源的浪费。Manjaro 团队此举这不失为一个明智的措施。Manjaro 团队的 Philip Mueller 分享了以下内容:不幸的是,我们不得不宣布 manjaro32 项目现在已经一去不复返了。@jonathon 成功地将这个据点维持了更久,甚至超出了他的预期。在近 9 年的时间里,我们一直支持 i686。让我们对这部分项目留下一个美好的回忆。而那些仍然对 32 位体系结构感兴趣的用户,则可查看此列表。
  • [其他] 【安装】磁盘空间不足导致RPM安装失败
    问题背景与现象执行Preinstall,发现Add Package Failed导致PreInstall失败。原因分析分析preinstall日志(/tmp/fi-preinstall.log)。Preparing...                ###Preparing...                ############xorg-x11-libICE             ##################################################xorg-x11-libSM              ##################################################xorg-x11-libxcb             #####################################################xorg-x11-libX11             ##############################################################################installing package xorg-x11-libXau-7.4-1.15.x86_64 needs 20KB on the / filesysteminstalling package xorg-x11-libICE-7.4-1.15.x86_64 needs 132KB on the / filesysteminstalling package xorg-x11-libSM-7.4-1.18.x86_64 needs 176KB on the / filesystemError: Execute failed on 192.168.29.32 (17) ###[Mon Jun  8 15:51:38 CST 2015] Info: Run ./script//function/remote.sh -i 192.168.29.32 -P 22 -u root -a /tmp/fi-preinstall-ctrl/preinstall-p.bin -t 300 -m ssh-cmd -c rpm -ivh /tmp/fi-preinstall/192.168.29.32_rpms_dir/*.rpm failed, ret code:17[Mon Jun  8 15:51:38 CST 2015] Error: Install [ xorg-x11-libICE xorg-x11-libSM xorg-x11-libX11 xorg-x11-libXau xorg-x11-libXext xorg-x11-libXfixes xorg-x11-libXmu xorg-x11-libXp xorg-x11-libXpm xorg-x11-libXprintUtil xorg-x11-libXrender xorg-x11-libXt xorg-x11-libXv xorg-x11-libfontenc xorg-x11-libs xorg-x11-libxcb xorg-x11-libxkbfile ] on 192.168.29.32 failed. Please check rpm packages version.[Mon Jun  8 15:51:38 CST 2015] Info: Add packages failed on 192.168.29.322.根目录磁盘空间不足,导致安装失败。解决办法清理根目录磁盘空间或者扩容。执行preinstall。
  • [其他] 【安装】版本过高导致RPM安装失败
    问题背景与现象执行Preinstall,Add Package Failed导致PreInstall失败。原因分析分析Preinstall日志(/tmp/fi-preinstall.log)。[Thu Apr  9 18:16:17 CST 2015] Info: Run ./script//function/remote.sh -i 192.168.17.33 -P 22 -u root -a /tmp/fi-preinstall-ctrl/preinstall-p.bin -k /tmp/fi-preinstall-ctrl/known_hosts -t 300 -m ssh-cmd -c rpm -ivh /tmp/fi-preinstall/192.168.17.33_rpms_dir/*.rpm failed, ret code:16[Thu Apr  9 18:16:17 CST 2015] Debug: [/opt/patch/packages/squid-3.1.10-19.el6_4.x86_64.rpm] Leave [get_rpm_file:77][Thu Apr  9 18:16:17 CST 2015] Error: rpm -ivh /tmp/fi-preinstall/192.168.17.33_rpms_dir/*.rpm failed on 192.168.17.33[Thu Apr  9 18:16:17 CST 2015] Error: Add packages failed on 192.168.17.33 [Thu Apr  9 18:16:16 CST 2015] Debug: Leave [exec_cmd_r:60][Thu Apr  9 18:16:16 CST 2015] Debug: Leave [check_rpms_dir:86][Thu Apr  9 18:16:16 CST 2015] Error: [192.168.17.39] Setup os failed2.OS在安装完成后,又安装了OS补丁,有些RPM被升级到高版本了,导致有些有依赖关系的RPM包安装失败。解决办法            方法一:卸载OS补丁后,再重新执行preinstall。 方法二:下载高版本的RPM包,手动安装RPM包。
  • [行业资讯] 红旗Linux操作系统 与 华为鲲鹏云完成兼容性互认证
    北京红旗软件有限公司 的 Linux操作系统:红旗桌面操作系统(鲲鹏版)V7.5 与 华为鲲鹏公有云 和 华为鲲鹏私有云 完成了双方的兼容性认证:红旗Linux诞生于2000年,作为中国第一个Linux操作系统,至今已经有20多年历史。红旗Linux作为国产操作系统的代表,连续多年销量稳居中国市场第一,产品广泛应用在中国的政府机关、企事业单位和大中型企业。北京红旗软件有限公司以北京为中心,在全国多地设有分公司和办事处,拥有立体的销售渠道和遍布全国的服务网络。公司产品包括:(服务器、桌面、嵌入式、安全可信、区块链)操作系统、HA 高可用集群、云计算平台、Docker容器云、虚拟桌面、无停机服务器、高性能存储等。发展鲲鹏计算产业是我国自主创新的一件大事,是解决关键核心技术“卡脖子”问题的重要举措,也是推动数字经济跨越发展的关键一招。红旗软件已经在鲲鹏产业生态建设方面迈出坚实步伐,积极进取、真抓实干,以坚如磐石的决心加快推动鲲鹏生态系统建设,带动全行业数字经济高质量发展。高可靠性:支持CPU、内存、存储和外设等的热插拔设备,硬件维护不影响业务运营。助力大数据:在Asianux 7上采用Hadoop、Spark、Redis、Neo4j等新技术,为客户提供专业的大数据解决方案。增强的xfs:将默认的文件系统从ext4升级到XFS,提供了更快速和大容量的文件系统,容量从50TB增加到500TB,并向下兼容。虚拟化:支持 KVM, OpenKVM等虚拟化技术,并在内核上做了针对性的性能优化,充分满足客户的虚拟化要求。本次发布的红旗Linux操作系统与鲲鹏生态联合解决方案,通过双方的共同努力,已建立完整的行业生态测试验证环境和能力支撑体系。基于鲲鹏处理器和红旗Linux操作系统的联合解决方案将在金融、保险、数字政府、医疗健康、能源电力、个人应用、智慧办公服务等多个行业和领域进行应用,对构建开放、合作、共赢的鲲鹏行业生态具有重要意义。
  • [行业资讯] 红旗Linux操作系统 与 华为鲲鹏云完成兼容性互认证
    北京红旗软件有限公司 的 Linux操作系统:红旗桌面操作系统(鲲鹏版)V7.5 与 华为鲲鹏公有云 和 华为鲲鹏私有云 完成了双方的兼容性认证:红旗Linux诞生于2000年,作为中国第一个Linux操作系统,至今已经有20多年历史。红旗Linux作为国产操作系统的代表,连续多年销量稳居中国市场第一,产品广泛应用在中国的政府机关、企事业单位和大中型企业。北京红旗软件有限公司以北京为中心,在全国多地设有分公司和办事处,拥有立体的销售渠道和遍布全国的服务网络。公司产品包括:(服务器、桌面、嵌入式、安全可信、区块链)操作系统、HA 高可用集群、云计算平台、Docker容器云、虚拟桌面、无停机服务器、高性能存储等。发展鲲鹏计算产业是我国自主创新的一件大事,是解决关键核心技术“卡脖子”问题的重要举措,也是推动数字经济跨越发展的关键一招。红旗软件已经在鲲鹏产业生态建设方面迈出坚实步伐,积极进取、真抓实干,以坚如磐石的决心加快推动鲲鹏生态系统建设,带动全行业数字经济高质量发展。本次发布的红旗Linux操作系统与鲲鹏生态联合解决方案,通过双方的共同努力,已建立完整的行业生态测试验证环境和能力支撑体系。基于鲲鹏处理器和红旗Linux操作系统的联合解决方案将在金融、保险、数字政府、医疗健康、能源电力、个人应用、智慧办公服务等多个行业和领域进行应用,对构建开放、合作、共赢的鲲鹏行业生态具有重要意义。
  • [技术干货] 【转载】Linux下9种优秀的代码比对工具推荐
    【转载华为云社区】大家好,我是良许。在我们编写代码的时候,我们经常需要知道两个文件之间,或者同一个文件不同版本之间有什么差异性。在 Windows 下有个很强大的工具叫作 BeyondCompare ,那在 Linux 下需要用到什么工具呢?本文介绍 9 种 Linux 下常用的 9 种代码比对工具,不仅有命令行工具,还有 GUI 界面工具,让你轻松进行代码比对。1. diff命令diff 命令是 Linux 下自带的一个强大的文本比对工具,而且使用起来非常方便。对于它的使用,我之前也单独写过一篇文章介绍,点击下方链接可以查看。教你一招Linux下文本比对方法diff 命令在大多数的 Linux 发行版里已经预装了,它可以逐行比对两个文本文件,并输出它们的差异点。更多介绍可以直接查看它的 man 手册。$ man diff但是,diff 命令虽然强大,但它的输出结果实在是太感人了,不直观也不清晰。于是,有大佬为了弥补这个缺点,基于 diff 开发了更强大的工具。这里推荐两个:colordiff 和 wdiff 。colordiff命令colordiff 是一个 Perl 脚本工具,它的输出结果和 diff 命令一样,但是会给代码着色,并且具有语法高亮功能。同时,你如果不喜欢它的默认颜色的话,还可以自定义主题。你可以自行安装 colordiff 到你的电脑,根据不同的发行版选择不同的安装命令。$ yum install colordiff             [On CentOS/RHEL/Fedora] $ dnf install colordiff             [On Fedora 23+ version] $ sudo apt-get install colordiff    [On Debian/Ubuntu/Mint]同样,你可以使用 man 命令查看它的帮助文档:$ man colordiffwdiff命令diff 命令是逐行比较差异,而 wdiff 更变态,是逐字比较。所以如果你的文本只是修改了少数一些词语的话,使用 wdiff 命令将更加高效。安装命令如下:$ yum install wdiff             [On CentOS/RHEL/Fedora] $ dnf install wdiff             [On Fedora 23+ version] $ sudo apt-get install wdiff    [On Debian/Ubuntu/Mint]更详细内容可以查看它的 man 手册。$ man wdiff2. vimdiff命令vimdiff 等同于 vim -d 命令,即 Vim 编辑器的 diff 模式。该命令后面通常会接两个或多个文件名作为参数,这些文件会同时在 Vim 编辑器的分割窗口中打开,并高亮显示文件中内容有差异的部分。它的中文主页是:http://vimcdoc.sourceforge.net/doc/diff.html以上介绍的两款是 Linux 命令行的对比工具,我们再来看一些 GUI 比对工具。3. KompareKompare 是基于 diff 的一个 GUI 工具,使用者可以很方便看到文件之间的差异,并且支持合并这些差异。Kompare 的特性有如下:支持多种 diff 格式;支持目录之间的比对;支持读取 diff 文件;自定义界面;创建及应用源文件的 patch 文件。该工具的主页为:https://www.kde.org/applications/development/kompare/4. DiffMergeDiffMerge 是一个跨平台的 GUI 文本比对工具,具有 Linux ,Windows ,macOS 三大平台版本。我们知道,BeyondCompare 是一款收费软件,所以如果你们公司的版权要求比较高的话,不妨考虑一下 DiffMerge工具。DiffMerge 具有两大功能:1. 图示化显示两个文件之间的改变。包含内部行高亮和完整的编辑支持。2. 图示化显示三个文件之间的改变。允许自动合并(当可以安全操作时)和对结果文件完全编辑控制。它具有以下特性:支持文件夹比对;集成文件浏览器;高度可配置。该工具的主页为:https://sourcegear.com/diffmerge/5. MeldMeld 是一个轻量级 GUI 代码比对工具,它支持用户比对文件、目录,并且高度集成版本控制软件。但针对软件开发人员,它的以下几个特性尤为吸引人:执行双向和三向差异并合并轻松地在差异和冲突之间导航逐个文件地比较两个或三个目录,显示新文件,缺失文件和更改文件支持许多版本控制系统,包括 Git,Mercurial,Bazaar 和 SVN 等。它的官网为:http://meldmerge.org/6. DiffuseDiffuse 是另外一款很受欢迎的,免费,小巧,也十分简单的 GUI 文本差异比对合并工具,它是用 Python 写成的,具有两个主要功能:文件比对及版本控制,允许文件编辑、合并,并且输出两个文件的差异点。你可以使用它查看文本比对小结,使用鼠标选择文件里的某行进行编辑。它的其它特性包括:语法高亮快捷键便于文本导航无限次撤销支持 unicode 编码文件支持许多版本控制系统,包括 Git,Mercurial,Bazaar 和 SVN 等。它的官网为:http://diffuse.sourceforge.net/7. XXdiffXXdiff 是一款免费、强大的文件及文件夹差异比对及合并工具,它可以运行在很多类 Unix 系统上。不过它有个限制就是它不支持 unicode 文件,也没法办法直接编辑文件。它具有以下特性:递归对比文件及文件夹高亮显示差异点合并差异点,导出结果支持外部 diff 工具,比如:GNU diff,SIG diff ,Cleareddiff ,以及其它更多工具支持脚本拓展8. KDiff3KDiff3 是另外一种很强大的跨平台差异比对及合并工具,它是由 KDevelop 开发而成,可以在所有类 Unix 平台上运行,包括 Linux ,Mac OS ,Windows 等。它可以比对或合并两到三个文件或目录,具有以下特性:可以逐句、逐字对比差异支持自动合并内置编辑器,可以手动解决冲突支持 unicode ,UTF-8 等各种编码格式支持打印差异它的官网为: http://kdiff3.sourceforge.net/9. TkDiffTkDiff 是另外一种跨平台,易于使用的 GUI 文本比对工具,可以运行在 Linux ,Windows 及 MacOS 系统上。它同样提供一个左右分开的界面,用于查看对比的两个文件。但是,它也有一些其它文本对比工具没有的功能,比如差异书签,以及一个便于快速定位导航差异点的导航图。
  • [技术干货] STM32好找工作所以学linux错了吗?
    作者:朱有鹏来源:“朱老师IT充电站”微信公众号01 话 题经常有大学生同学纠结:我到底是学STM32还是学嵌入式linux。这个问题很多人都会有自己的看法,今天我试着从多个角度,把我了解到的事实讲一下,希望对大家有所启发。02 STM32确实好首先得承认STM32确实好,好到STM32都成了单片机MCU的代名词了,现在很多人甚至说单片机时默认就说STM32,实际上还有很多单片机的啊。STM32的第一大好处就是:就业机会确实多,社会需求多。大家学点技术图什么?还不是为了找工作赚工资。当然我承认大家都有更远大的理想,但是就算你想造火箭也得毕业后先能找到工作赚钱糊口开始。所以如果你让我学个东西都没公司要,都找不到工作,那学它肯定错了。你不妨去各大招聘网站搜索一下,STM32相关岗位真的很多,你如果STM32玩的溜,找份工作真的不成问题。而且大多数一二线城市都有工作机会,这一点更难得。总结一下,学STM32肯定没错,这玩意至少能让你有份工作。STM32的第二大好处就是:他是很典型的MCU,可以让你掌握足够的MCU开发能力。也就是说即使你在工作中需要用到其他MCU,譬如说NXP的LPC系列,Cypress、TI的MCU系列,而这些你从来没接触过完全不会。但是,只要你熟练掌握STM32,就能很快上手这些MCU的开发工作。最后,STM32还有个优势就是生态已成,影响力大。目前很多国产MCU厂商如GD、国民技术等在推出的国产MCU也是对标STM32的,在开发方式甚至是固件库方面都和STM32非常类似。综上,掌握STM32确实很有用,STM32最大的特点就是实在,掌握这项技能很有助你找到一份工作,在单片机软硬件工程师这条路上能先上路,走出第一步。03 STM32的局限性不能说STM32不好,只能说有局限性。STM32最大的局限性就是:它只是个单片机。也就是说,你学习STM32,其实学的都是单片机相关的技术。譬如GUI方面,你学STM32可能会学emWin,或者touchgfx,或者littlevgl等,但是你几乎肯定不会去学QT和android那些,因为STM32上一般不跑这些。(现在QT也有QT for MCU,也在STM32H7上做了合作,但是应用面有限,大部分人大部分项目不会使用)。所以你学到的GUI技术全都是MCU领域使用的,而这些和主流的GUI的前端与业务逻辑分离的设计模式(典型的如微软的WPF,Android,或web前端设计等)是有不同的,因此你学到的东西也是有局限的。再譬如网络应用方面,STM32大多数应用都不带网络,就算带网络往往也是用通信模组,很少会需要你基于socket层直接编程,而这才是网络编程的关键技能。所以很多做STM32多年的工程师,实际上对网络很陌生,甚至是一窍不通。04 客观看待STM32客观去看,STM32开发确实是电子相关专业同学可以去学习的一项技能。或者说,如果你打算学单片机,那么STM32绝对是首选。当然了,首选不是说只学STM32,其实我个人更推荐的单片机学习路径是先用51入门,再进阶到STM32,这样更符合学习规律,学习效率会更高。所以说学STM32是没错的。但是不是说只学STM32,这个必须搞清楚。苹果很好吃,吃苹果对身体好,难道你只吃苹果吗?所以我认为正确的对待STM32的态度是:第1条:去学没错,学这个肯定有用。第2条:不是必须学,假如你工作不是单片机开发,其实不会STM32并不影响。第3条:不要只学STM32,一定要扩展其他技能,否则面太窄了,太局限。05 嵌入式Linux是STM32最好的延伸如果你STM32已经学得不错了,建议延伸学习linux。很多人觉得linux使用没有STM32广泛,使用linux的设备远没有使用STM32的设备多,招聘岗位中linux相关也没有STM32相关的多,所以不应该去学linux而应该去学STM32。这个观点是错的。因为这个观点把STM32和linux拿来对比了,然而这2个东西根本没有可比性。你对比这2个就好像对比自行车和小汽车,你说自行车的优势是便宜,好修理,不堵车,不用交停车费,不耗油等等,你可以说出来自行车相对小汽车的很多优势,然而该买小汽车的你给他个自行车行吗?小汽车是自行车的延伸,linux是STM32的延伸,是类似的道理。后者相对前者是升级的关键,而不是平行的关系。06 为什么说Linux是STM32的延伸我们说linux是STM32的延伸,其实是从技术角度出发的。也就是说从技术的延续性,技术难度,技术拓展方向角度讲,STM32掌握后再去拓展linux是非常合适的。譬如C语言,STM32用到的C语言特性和难度都要低于linux。所以当你通过熟练掌握STM32的过程已经一定程度掌握了C语言,再去学嵌入式linux,读linux源码时,就会发现自己的C语言功底得到了升华。而你读惯了linux内核源码后,再回过头来看STM32的标准库,HAL库时,就会感觉简单了很多。从软件层次来讲也是这样。比STM32更简单的单片机,譬如51单片机,基本不使用库函数,都是程序员自己从零开始编程的。51单片机的厂商一般也不会给你提供单片机的固件库,主要是太简单没必要。而STM32就需要固件库,不管是早期的标准库还是现在的HAL库,都是芯片厂商提供的固件库,来辅助程序员来进行开发。到了嵌入式linux阶段,分层就更复杂了。和硬件相关的代码部分成了linux的驱动层,板载硬件管理由linux内核组建接管,客户业务功能则由linux应用程序来完成。如果需要网络,GUI等功能,也都有非常专业的内核层和应用层资源移植对接。所以说,从技术角度讲,嵌入式linux是完全覆盖了STM32的。07 嵌入式Linux的优势其实学习linux还有很多优势。Linux内核可以说是整个开源软件社区的集大成者,在过去几十年间有大量世界级优质程序员向linux kernel贡献代码和思想,也有大量的第三方开源项目基于linux的某些组件或linux的设计思想来构建。譬如国内现在很火的国产物联网操作系统rt-thread,你去读它的源码就会发现,这完全就是linux的味儿啊。你去看华为的物联网操作系统LiteOS,他的源码中各个组件之间分隔对接的osal设计,也是linux kernel中大量使用的技巧。所以说为什么要学linux?因为它真的可以让你一劳永逸的解决往后职业生涯中遇到的大部分技术需求。我们学习技术有个很大问题就是:你今天永远不知道明天会做什么工作,会需要什么技能。可能你下个月开个新项目新任务,老大就会给你一个你根本没听过名字的东西让你玩。你怎么才能快速上手呢?我的经验,最靠谱的就是学好linux。因为你会发现你遇到的任何东西都有linux的影子。只要你学好了linux,有这个功底,你学习任何新东西时都会很快。我当年下决心学好linux就是因为分配到一个指纹锁研发的项目,用到的方案是一个新加坡科技公司开发的,他的开发环境是用cygwin,而我此前从未接触过。折腾了半天搭建好环境我一看,这不就是linux的命令行嘛。还好我之前接触过简单的linux命令行,一下子感觉这个项目就不难了。此后我就认识到linux的重要性了,下功夫好好学了linux,这么多年过来,太多事实案例证明,当时的决策非常英明。08 不要限制自己最后说一句,永远不要人为给自己设限,不要自己局限自己。人要脚踏实地,不要好高骛远,这个没错。学51,学STM32这都没错,很实际,很接地气。如果你用尽了全力也就能凑合学好这些,那就做单片机开发,也能找到工作。但是如果你还有余力,还愿意继续下苦功学习,那么不要限制自己,继续向更高层次进发,永攀技术高峰。要相信社会不会亏待你,会用升职加薪来回馈你。
  • [问题求助] 铜豌豆 Linux(atzlinux)中文软件源申请收录
    《铜豌豆 Linux》,英文名 atzlinux,意为 a to z 全搞掂,希望能给大家提供简洁易用的 Linux 桌面环境。《铜豌豆 Linux》操作系统在 Debian 基础上,收集制作这些常用软件,一次性安装完成,节省大家定制 Debian 的时间,做到“开箱即用”。最新版本: 2020-04-14 日发布《铜豌豆 Linux》 10.3.3 版。目前收录的主要中文软件包如下:QQ、微信、百度网盘、搜狗输入法、网易云音乐、有道词典、WPS、中文字体、星际译王等。可点击查看中文软件完整列表。铜豌豆 Linux 是一个非赢利项目的运作,主要是若干爱好者用业余时间开发及维护,希望能给国内开源做一些自己的贡献。但由于铜豌豆 Linux 是个人发起、社区维护,在云服务器搭建的软件源,在国内很多地方的速度并不理想,希望华为源镜像能收录,方便大家使用起来。项目官方网址: https://www.atzlinux.com/中文软件包:https://atzlinux.com/allpackages.htm 软件源信息:https://www.atzlinux.com/debian/download/changelog.txt非常感谢!!
  • [技术干货] EMMC和Nand是不是还傻傻分不清楚
    作者:朱有鹏来源:“朱老师IT充电站”微信公众号1.背景今天偶然在一个群里看到有人聊EMMC和Nand,相信很多嵌入式er都用过或者至少听说过这2种板载存储芯片,但是很多人不清楚这2种的差异,也不明白什么时候应该用EMMC什么时候用Nand,如何选择?今天我们就来聊聊这个问题。2.Nand是这样的Nand是一种flash,所以又叫NandFlash。大家知道Flash叫闪存(flash这个英语单词就有闪烁的意思),闪存这种存储设备是用电信号来做擦除和读写的。也就是说你可以把Flash看成是一个二进制数据仓库,你可以用电信号擦除它(清除掉仓库里的存货),也可以用电信号读取它(将仓库内存储的物品取出),也可以用电信号写入它(将物品放入仓库储存)。好,问题来了,怎么去擦除、读写呢?这东西又听不懂人话,所以必须按照它的时序规则用电平信号和他交互。上图中左侧是一个NandFlash实物图,大家可以看到有很多引脚。右侧是NandFlash和STM32单片机的连接接线图。这些芯片上的引脚就是Nand和外界进行数据交流的通道。其中IO0-IO15是数据通道,通信时的地址和数据就是从这些引脚传输的。而CLE、ALE等剩余引脚就是时序控制线,用来做通信控制和同步。当然Nand工作时还需要供电的,图中并没有画出电源引脚但是实际是有的。这就是NandFlash,通过很多个引脚(图中可见至少二三十个)和外界通信,很大的一个薄片状芯片。能存储数据。常见Nand的容量一般几十Mb到几个Gb(注意存储设备的容量都是b而不是B),应该说容量不算大。Nand内部的存储单元有两大类,MLC和SLC。具体的细节暂不去管,大家只需要知道SLC Nand容量小价格高,但是质量好不容易坏。而MLC Nand容量大价格便宜,但是质量不好容易出现坏块。其实不能说是质量好坏,而是工艺本身特性决定的,咱们反正是科普,就简单粗暴给他归个类吧。3.Nand的优势和劣势Nand的优势都是相对于它的前代产品来说的。在Nand之前,人类使用的大容量存储主要是磁性存储(软盘、硬盘)和光存储(DVD光盘),这些东西都不太完美。譬如光盘不能反复擦写而且读盘设备和盘片都经常坏(大家你想想家里老式光碟机是不是经常读不出盘),硬盘虽然今天也还在大量用,但是速度有极限并且体积太大,所以今天的高端笔记本电脑都不用机械硬盘改用SSD了(SSD其实也是Flash)。我们主要讲讲Nand的劣势。Nand的第1大劣势就是接口和时序不标准。大家可能没意识到,NandFlash其实是一个品类而不是一个固定产品,你去看全世界有多家公司都在生产Nand,但是他们的产品并不能直接通用,也就是说你不能把一款Nand直接替换另一款而不需改动软硬件。这就头痛了,麻烦的要死。Nand的第2大劣势就是引脚太多,体积大。所以Nand芯片不能用在对体积要求很高的小型产品上,这极大限制了Nand的直接使用。Nand的第3大劣势就是容量不能灵活控制。就算你用同一家厂商的Nand芯片,但是不同容量的芯片引脚接口和封装等也可能不同,这样你如果做产品时有不同容量版本的产品,还得分开设计,分开生产,很麻烦。Nand的第4大劣势就是坏块的管理。存储设备其实就相当于有很多小房间的一个大仓库,而这个仓库的每个小房间都是独立的。因为技术原因有时候一些小房间就会坏掉,没法使用,那我们不可能因为一个小房间坏掉了就把整个仓库都丢掉吧?于是乎人们就发明了坏块管理技术。也就是说我们去标记上每个房间是好的还是坏的,如果发现某个房间坏了那就标记成坏块,就不再使用这个房间了,而其他的好块还是可以继续用的。这种坏块管理技术可以很大程度延长Nand的整体寿命。和坏块相似的还有个ECC(错误校验)问题。正常情况下Nand中每个好块中存储的数据都会一直保持正确,即使过了几年时间你去读他还是原来的数据。但是事实往往没有这么理想,有时候一些块中的某些特定位就是会在隔了一段时间去读取时发生了翻转,这里原来存进去是1结果读出来是0了。这就难受了啊,最痛苦的是你也不知道原来存进去到底是1还是0,也不确定读出来的还是不是原来的数,所以搞得你没法相信任何一个数据,因为任何一个数据都有可能会翻转啊,那岂不是整个数据都不可信了。解决办法就是ECC,我们写入时先用算法计算得到数据的ECC值,把ECC值和块内数据一起存入Nand中。待读出时也是把块内数据和ECC一起读出,然后再用相同的算法计算块内数据的ECC,和读出的ECC进行比较,如果相同就认为数据未发生任何反转,如果不同就认为数据已经发生变质,没法相信了。本来有坏块标记和ECC技术,Nand已经挺好用了,也确实可以用了。但是麻烦的是Nand的ECC和坏块标记都需要主控CPU来做,Nand自己是不管的。所以使用Nand很麻烦,你得编程解决很多细节问题(时序、ECC、坏块管理)。所以Nand最大的问题,其实就是不够好用。那怎么办呢?进化。4.EMMC其实是从Nand进化而来EMMC其实就是Nand包了一层后形成的。EMMC内部真正用来存储的仓库就是Nand,而且EMMC基本都是MLC Nand,因为便宜啊。那EMMC解决了Nand的什么问题呢?首先,EMMC是封装和引脚都是标准的。什么标准?就叫EMMC标准。所以EMMC这个词其实本来就是个接口标准名,符合EMMC接口的存储芯片就叫EMMC芯片。这个标准体现在至少三个方面:物理封装、硬件电平和脚位、软件时序。所以所有的EMMC芯片,不管是哪家厂家的,不管是多大容量的,都可以直接替换使用。因为人家设计EMMC标准的时候就已经考虑到这种兼容和替换了(当然了,实际上EMMC也有好几种封装,但是一般硬件工程师做封装时都会考虑几种兼容的)。所以EMMC解决了Nand的一个大问题,就是不同厂家和容量的存储芯片之间的替换问题,这个非常厉害。因为兼容可以方便备货,方便采购,方便替换,所以极大降低了产品设计和备货上的难度,极大降低了成本。举个栗子,大家买手机都会发现现在的手机发布都有不同容量版本选择,什么256G、128G、64G版。你想想厂商和经销商要备货这么多种,多难受?但是如果用EMMC呢?所有的手机主板其实都是完全一样的,只是实际生产时贴上了不同容量的EMMC芯片而已。而且最重要的是软件上不用做任何改动,软件可以自适应不同容量的EMMC芯片。这样手机厂商就不用给不同容量的手机适配不同的操作系统镜像了啊,多省心。所以你明白为什么手机都用EMMC而不用Nand了吧EMMC的引脚比Nand也更少,体积也更小。当然了EMMC体积小也有很重要原因是因为他采用了更先进的BGA封装方式。所以体积的优势也不算根本优势,如果Nand也用BGA封装也可以做的小,只是说Nand没这个必要性了。最后,EMMC也解决了Nand的时序、坏块和ECC问题。本质上因为EMMC内部也是用Nand存储颗粒(而且是MLC Nand更容易坏)的所以也逃不过Nand的这些麻烦。但是EMMC芯片在内部内置了一个控制器(你可以理解为内部有个CPU且跑了一段固件代码),这个控制器解决了这几个问题,尤其是坏块管理和ECC的问题。所以你做产品用Nand就麻烦,得自己操这些心。而你做产品用EMMC就省心了,自己不用管这些破事,EMMC全部帮你搞定了,何乐而不为呢?从这个角度讲EMMC好像自动挡汽车,而Nand好像手动挡汽车。(我发现我好喜欢用自动挡和手动挡的对比·····)5.EMMC和Nand的性价比有人说不对呀,看你说的EMMC明显比Nand好啊,为什么我发现EMMC好像还比Nand便宜呢?EMMC从技术上确实比Nand好,但是也确实比Nand便宜。主要原因是成本并不只是由硬性成本决定的,还和市场、规模等因素有关。EMMC便宜的一大原因就是因为标准化。标准就可以大规模生产,大规模流通,大规模压货,大规模使用。而用的多了产量大了,自然成本就低了。所以EMMC的大规模性就决定了他的成本很有优势。EMMC便宜的另一大原因是内部使用MLC而不是SLC。实际上SLC的成本要远高于MLC的,但是市场上流通的Nand很多还是SLC,为什么?因为MLC“质量”太差了,太容量出现坏块和翻转等,所以广泛使用的Nand还都是SLC的。你如果直接用MLC Nand,那你的管理成本又很高,太麻烦了。而EMMC解决了这个问题,他内置的控制器很好的管理了MLC Nand,因此可以做到容量很大、使用简单,还便宜。所以说,能干脏活就是生产力啊。6.如何选择用哪个实际项目中我们是用EMMC还是Nand呢?实际上如果你的产品需要大容量(譬如超过8Gb也就是1GB或更大),那一定是EMMC更合适。性价比更高,且软件上更简单。那什么时候用Nand呢?需要容量在几十MB(譬如64MB)到几百个MB(譬如512MB)之间的存储,且不在意体积,且对稳定性要求高的情况下,可以用SLC Nand。那工业级和抗干扰方面呢?我并没有专业研究过,但是简单分析也知道,Nand在这方面肯定比EMMC好一些。毕竟EMMC是串行的要保证高速肯定总线速度高,而Nand是并行的总线速度肯定低。所以Nand应该要比EMMC皮实一些吧?但是EMMC也是有工业级和消费级之分的,你做的产品真的是工业环境使用完全是可以用EMMC的,所以也不要鼓吹什么消费电子用EMMC,军工用Nand这种说法。7.最后实际上存储市场除了Nand和EMMC之外还有很多其他角色也都很厉害。譬如Norflash、譬如近年来很火的spiflash(常见的是spinor,但是现在也有大容量的spinand了),譬如这两年创新设计的SDnand(相当于是贴片芯片样式的SD卡)。技术其实一直都在创新。最后,本文完全是从我的经验和积累来写,并没有严格查阅资料。限于水平和专业性,里面如果有错漏或者表达不当的地方,希望大家指正,共同进步。
  • [应用实践] 【MindSpore易点通】远程连接linux的Jupyter教程
    最近在Linux搭建了一个GPU版本的MindSpore,于是想着将之前在Windows中使用Jupyter写的文件,转移到Linux中使用,碍于界面十分不友好,于是找很多资料,居然真的发现了新大陆,可以使用Jupyter在Linux开一个端口,从Windows环境中访问并进行开发,实在太好用了,对我等新手用户实在是hin友好,于是按照收罗到的资料中,实现了windows开发,linux运行的操作,现在整个的实现过程记录于下:1      Jupyter的安装1.1      查询环境输入命令:conda info --envs 1.2      激活环境输入命令:conda activate {env_name}  1.3      Jupyter安装查询是否安装jupyter notebook,输入命令:jupyter notebook 如果没有启动,说明没有安装。如果没有安装。安装jupyter notebook,输入命令:conda install jupyter notebook或者 pip install jupyter notebook1.4      生成配置文件输入命令:jupyter notebook --generate-config如果生成成功了,就可以在/root/.jupyter/目录上找到文件jupyter_notebook_config.py,这个就是jupyter的配置文件了,后续会使用到此文件配置信息2      设置密码启动ipython,输入:ipython然后如下图输入命令:Enter password(进行远程连接时的密码)Sha1:保留后面会在配置文件中用到3      修改配置文件修改配置文件内容:使用命令:vim /root/.jupyter/jupyter_notebook_config.py 在注释行中找到以下几个或者直接增加如下六行代码,设置如下:c.NotebookApp.ip = ’*’ # ip地址c.NotebookApp.password = ’ sha1:b171……’  # 密码的sha256加密c.NotebookApp.open_browser = False  # 启动jupyter服务时是否启动linux内部的浏览器c.NotebookApp.port  =  8009 # jupyter的服务端口设置c.NotebookApp.notebook_dir = ‘’ # 设置默认工作路径,如果不设置,在哪启动jupyter,工作目录就在哪c. NotebookApp.allow_root = True # 设置root权限4      启动jupyter远程服务ls4.1      在后台启动,输入命令:jupyter notebook &   4.2      远程连接在浏览器中输入远程ip地址+:8009/tree,如下格式xx.xxx.xx.xx:8009/tree 4.3      输入密码登录首次连接会让输入密码(第二步中自己设置的密码),如下图说明你Jupyter的服务已经开启成功了输入密码,点击log in,完成jupyter服务的远程连接。 5     给Jupyter添加环境切换功能远程连接上的Jupyter默认使用conda的base环境,可能没有安装MindSpore,无法运行MindSpore体验教程,同时你也没有conda环境切换功能,这时候你需要进行如下操作:选择安装过MindSpore的环境进行激活,如何激活参考第一步,在激活的环境中输入命令:conda install nb_conda完成安装后,重新在后台启动Jupyter(先杀死jupyter进程,再启动)在Jupyter的页面中选择kernel,点击change kernel 切换环境作者:吕明赋
  • [问题求助] 如何在linux侧执行liteos的命令
    我在使用HI3556V200的开发平台,liteos和linux双系统, 如何设计一个脚本,可以在linux侧执行liteos的一个命令。(比如pqTool工具的执行,我想一开机就能自动运行起来,而不用再手动在执行命令)
  • 【鲲鹏翱翔】数据库04-MySQL5.7.28移植安装指南-RPM包方式
    1.   简介MySQL是一种快速易用的关系型数据库管理系统(RDBMS),它通过插件形式提供了多种存储引擎,目前最通用的是InnoDB。作为一款开放源码的数据库软件,MySQL社区及用户活跃度很高,用户问题往往可以及时得到响应。此外,MySQL还具有软件体积小、安装简单易于维护等优点。官方链接:https://dev.mysql.com/doc/refman/5.7/en/类别:云计算/数据库2.   部署环境Packet NameVersionCentOSCentOS 7.5 with ARMMysql5.7.283.   安装部署3.1 依赖安装在系统中安装需要的组件,安装相应的库:yum install cmake time libaio-devel ncurses-devel numactl-devel openssl-devel zlib-devel cyrus-sasl-devel openldap-devel  perl-Env  gcc gcc-c++ make rpm-build autoconf perl-JSON3.2 下载安装源码wget https://obs-mirror-ftp4.obs.cn-north-4.myhuaweicloud.com/database/mysql-community-5.7.28-1.el7.src.rpm rpm -ivh   mysql-community-5.7.28-1.el7.src.rpm3.3 编译安装MySQL安装后的源码在/root/rpmbuild/SOURCES/里面。我们将使用系统自带的GCC4.8.5来编译MySQL5.7.28,为此我们需要做一些修改cd /root/rpmbuild/SOURCES vim mysql-5.7.28/sql/mysqld.cc #添加 #include <sys/prctl.h>   vim mysql-5.7.28/cmake/build-configurations/compiler_options.cmake将所有的-O3改成-O1。上述修改不会对MySQL功能造成影响,主要是GCC的版本问题。修改完之后重新打包,编译。tar -zcf mysql-5.7.28.tar.gz mysql-5.7.28 rpmbuild -bb /root/rpmbuild/SPECS/mysql.spec编译完成后,编译好的RPM包在/root/rpmbuild/RPMS/aarch64下      如果不想编译,也可从以下链接获取:https://obs-mirror-ftp4.obs.cn-north-4.myhuaweicloud.com/database/mysql.5.7.28-rpm.tar#安装数据库 rpm -ivh *.rpm启动数据库#启动数据库 systemctl start mysqld #查看数据库状态 systemctl status mysqld数据库初始密码在/var/log/mysqld.log里可以查到mysql -uroot –p #修改密码和远程登录 mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Aa!123456'; mysql> use mysql; mysql> update user set host = '%' where user = 'root'; mysql> FLUSH PRIVILEGES;4.   FAQ在执行rpm -ivh *.rpm时,可能会报错    这是因为mariadb-libs和mysql的lib冲突引起的,执行yum -y remove mariadb-libs可解决问题。
  • [行业资讯] 华宇拼音输入法Linux版软件 通过华为鲲鹏桌面云兼容性认证
        北京华宇信息技术有限公司(以下简称“华宇信息”)以软件与信息服务为主营业务,成立于2009 年9 月9 日,员工规模3000 余人,注册资金6亿元。    华宇信息秉承“自强不息,厚德载物”的企业精神,坚持诚信为本的价值观,以“持续创新,成就客户”为使命,专注于电子政务领域的软件与信息服务,为客户的信息化事业提供全方位的解决方案与服务,是您值得信赖的智慧信息服务专家。华宇信息目前拥有200 余项具有自主知识产权的软件产品和百余项司法行业解决方案。在大数据、人工智能等领域,为数百个法律应用场景提供法律AI能力,打造法律科技生态。     华宇拼音输入法前身为“紫光华宇拼音输入法”,是我公司自主开发、具有自主知识产权、对最终用户完全免费、基于汉语拼音的中文字、词及短语的输入法,自1999年问世以来,便因其使用方便、快捷、智能等特点,迅速受到各界人士的普遍欢迎。十多年来,倾注了开发人员大量的心血和智慧。2019年2月华宇拼音输入法重出江湖,为新一代智慧政务办公环境提供高效、快捷的输入法软件,并且全部免费开放。6月发布华宇拼音输入法Linux版V2.0系列,正式开启智慧政务办公场景输入法。可支持生僻字输入,拆分输入,笔画输入等多维度输入模式,支持智能纠错、智能组词、智能联想等智慧能力,有效提高输入的匹配度和效率。2020年1月发布Linux版V2.3版本,增加了五笔输入模式,扩大用户使用范围,并基于行业积累提供专业词库,打造政务领域专业办公输入工具。               目前华宇拼音输入法已完成UOS、中标麒麟、银河麒麟(飞腾)、中科方德(兆芯)、深度Deepin系统的适配,提供了基于ibus框架和基于fcitx框架的版本。可帮助用户在政务办公环境下快速、高效的打字办公,辅助提高办公办事效率,成为促进智慧政务、构建信息技术应用创新的技术体系必不可少的一部分。
  • [问题求助] Hi3559AV100四核linux系统可以把a53up也拉进来吗,组成五核linux系统
    如题,求大佬相助。近期的项目遇到了这个需求,尝试了下,但是没有成功。请问从硬件设计的角度看可以实现五核linux系统吗?
  • [问题求助] efk中的logstash包有问题
    logstash版本:7.7.0logstash的rpm包,官方的包为158MB左右,华为镜像站上面的rpm包为20MB左右,而且无法安装
总条数:907 到第
上滑加载中