0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

只需4步,让OKA40i-C开发板的Linux系统拥有中文显示

飞凌嵌入式 2023-03-03 13:53 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

如果你试着在Linux系统里面输入中文,那么将会有一片乱码呈现在你面前,这是因为Linux系统的默认语言是英文。但是如果可以显示中文的话,那么在使用过程中的便利程度一定会大大提升。今天小编就通过飞凌嵌入式的OKA40i-C开发板来为大家演示让Linux系统显示中文的修改方法。

poYBAGQBhWKAe_T8AAgkfMdRcm0825.pngOKA40i-C开发板

STEP 1

如果之前使用的是全源码编译方式对源码进行编译处理的,就可以直接往下走;如果之前有更改过源码部分,且使用的是单步编译,则需要重新解压一份OKA40i-C开发板的源码,进入该源码的lichee文件夹,执行sudo ./build.sh进行一次全编译,耗时会有点长,需要耐心的等待。

STEP 2

在新的源码全编译的过程中,到之前使用的源码里面做一些准备工作吧;要是更改过程中遇到只读等权限问题,打开的时候加上sudo就好了。

01.

首先在lichee下面找到linux-3.10/.config这个配置文件,将里面的iso8859-1全部替换成utf8,就像下面这样,一共有两处。行前面的“-”表示去掉,“+”表示添加上。

FAT使用的默认输入/输出字符集:

-CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +CONFIG_FAT_DEFAULT_IOCHARSET="utf8"

poYBAGQBhbiAFw4QAAAmF7vrjhM169.png

挂载文件系统时使用的默认NLS

-CONFIG_NLS_DEFAULT=" iso8859-1" +CONFIG_NLS_DEFAULT="utf8"

pYYBAGQBhdKAax_FAAATCNL73ak204.png

02.

out/sun8iw11p1/linux/common/buildroot/target/etc/inputrc

在上方lichee中的文件中添加两行命令:

pYYBAGQBhiyAdFHBAAA5-hytgMg144.png

03.

lichee/out/sun8iw11p1/linux/common/buildroot/target/root

然后到上方路径下创建一个.vimrc文件,打开.vimrc文件,在里面添加上三行命令:

set fileencodings=utf-8,gb2312,gbk,gb18030 set termencoding=utf-8 set encoding=utf8

poYBAGQBhlmAATUlAAAX23Mw6sM040.png

STEP 3

现在,新的源码已经全部编译完成了,在新源码的里面找到busybox-1.25.1这个文件夹。进入以下路径:

lichee/out/sun8iw11p1/linux/common/buildroot/build/busybox-1.25.1

01.

执行make menuconfig ARCH=arm进入busybox的图形化编辑界面。

Busybox Settings ---> General Configuration ---> [*] Enable locale support (system needs locale for this to work) [*] Support Unicode [*] Use libc routines for Unicode (else uses internal ones) (65533) Character code to substitute unprintable characters with (195102) Range of supported Unicode characters

pYYBAGQBhvmAI2JuAABSLr7fqMY086.png

更改好之后一路Exit退出,最后选择yes保存配置。

02.

然后更改busybox-1.25.1文件夹路径下的文件
libbb / printable_string.c,

搜索0x7f,删除以下两行:

pYYBAGQBh1-AXjbqAAAYIwjCzj0539.png

将这里更改为

-if (c < ' ' || c >= 0x7f)

+if (c < ' ')

poYBAGQBh3OAZrxOAAAf4DIH0lU714.png

03.

更改libbb/unicode.c文件,先找到这样一段:static char* FAST_FUNC。然后将里面的1022行和1030行进行修改:

*d++ = (c >= ' ' && c < 0x7f) ? c : '?';

修改为*d++ = (c >= ' ') ? c : '?';

if (c < ' ' || c >= 0x7f)

修改为if (c < ' ')

修改完成之后,删除.stamp_built文件和.stamp_target_installed文件,返回到lichee文件夹下面,重新进行全编译sudo ./build.sh操作。

在out/sun8iw11p1/linux/common/buildroot/target/bin路径后面会生成一个busybox的可执行文件,将这个叫busybox的可执行文件替换到需要中文源码的相同路径下面——

lichee/out/sun8iw11p1/linux/common/buildroot/target/bin里面。

poYBAGQBh52AF72cAACN8Ss6HDE622.png

STEP 4

最后,在需要中文的那一份源码里面进行内核编译,打包文件系统,打包镜像操作,再将镜像烧录到OKA40i-C开发板里面就可以显示中文了。

sudo ./build.sh -m kernel sudo ./build.sh -m pack_rootfs sudo ./build.sh pack

最后我们来验证一下。可以看到此时已经可以直接进行中文输入了,并且和windows对接的中文文件可以直接显示查看。

poYBAGQBh8eAfAuhAAAQTws4_mk644.pngpYYBAGQBh-uASqnyAAAUDIT8ryg241.png

结语

Linux系统中文显示的更改其实就是更改内核的字符集和打开busybox的显示封锁,第一次编译好后,以后需要中文的busybox可以直接使用这次的busybox进行替换,节省了很多的工作量。更改完成之后就可以在OKA40i-C开发板的Linux系统上面编辑和查看中文了。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    88

    文章

    11854

    浏览量

    219819
  • 开发板
    +关注

    关注

    26

    文章

    6507

    浏览量

    121359
  • 系统
    +关注

    关注

    1

    文章

    1048

    浏览量

    22439
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    EPC9005C开发板:开启EPC2014C eGaN FET评估之旅

    开发板,它专为评估EPC2014C eGaN FET而设计,能为我们的工作带来诸多便利。 文件下载: EPC9005C.pdf 一、开发板概述 EPC9005
    的头像 发表于 05-14 12:40 167次阅读

    【ESP32-P4C5系列】WTDKP4C5-S1开发板上手指南

    1开发板介绍WTDKP4C5-S1开发板是深圳市启明云端有限公司推出的,基于WT01P4C5-S1核心设计的
    的头像 发表于 02-12 18:16 479次阅读
    【ESP32-P<b class='flag-5'>4C</b>5系列】WTDKP<b class='flag-5'>4C</b>5-S1<b class='flag-5'>开发板</b>上手指南

    【ESP32-P4C5系列】WTDKP4C5-S1开发板规格书

    1开发板介绍WTDKP4C5-S1开发板是深圳市启明云端有限公司推出的,基于WT01P4C5-S1核心设计的
    的头像 发表于 02-02 18:35 657次阅读
    【ESP32-P<b class='flag-5'>4C</b>5系列】WTDKP<b class='flag-5'>4C</b>5-S1<b class='flag-5'>开发板</b>规格书

    轻松上手!ESP32-C系列超迷你开发板组装及烧录全指南!启明云端乐鑫代理

    本期我们带你一步步完成WT9932CX-TINY开发板的开箱、组装、环境配置与烧录演示!你快速体验这款开发板的强大功能!本次烧录演示以WT9932
    的头像 发表于 01-12 18:02 525次阅读
    轻松上手!ESP32-<b class='flag-5'>C</b>系列超迷你<b class='flag-5'>开发板</b>组装及烧录全指南!启明云端乐鑫代理

    ESP32-P4全功能开发板和ESP32-P4-TINY开发板该怎么选?看这篇就够了!

    启明云端基于乐鑫科技ESP32-P4芯片设计了多款开发板,这些开发板有什么区别?基于应用场景如何选择?本期,我们聚焦两款代表性产品:WT99P4C5-S1
    的头像 发表于 12-09 18:02 1439次阅读
    ESP32-P<b class='flag-5'>4</b>全功能<b class='flag-5'>开发板</b>和ESP32-P<b class='flag-5'>4</b>-TINY<b class='flag-5'>开发板</b>该怎么选?看这篇就够了!

    TQKIT开发板工具系统功能调用更简单

    TQKIT开发板工具,将复杂的系统控制能力以接口形式开放给开发者,系统功能调用更简单。
    的头像 发表于 12-08 09:27 591次阅读
    TQKIT<b class='flag-5'>开发板</b>工具<b class='flag-5'>让</b><b class='flag-5'>系统</b>功能调用更简单

    RK3588核心/开发板RT-Linux系统实时性及硬件中断延迟测试

    本文介绍瑞芯微RK3588芯片平台RT-Linux系统实时性及硬件中断延迟测试,基于触觉智能RK3588核心/开发板演示。Linux-RT
    的头像 发表于 11-28 18:57 1131次阅读
    RK3588核心<b class='flag-5'>板</b>/<b class='flag-5'>开发板</b>RT-<b class='flag-5'>Linux</b><b class='flag-5'>系统</b>实时性及硬件中断延迟测试

    简单认识NXP FRDM i.MX 93开发板

    和802.15.4,是开发现代工业和物联网应用的理想选择。该开发板包含HDMI显示接口、LPDDR4/LPDDR4X、用于快速启动的eMMC
    的头像 发表于 11-17 09:45 1911次阅读
    简单认识NXP FRDM <b class='flag-5'>i</b>.MX 93<b class='flag-5'>开发板</b>

    迅为3568开发板从零学习Linux驱动开发:迅为一站式资料包如何我效率翻倍

    迅为3568开发板从零学习Linux驱动开发:迅为一站式资料包如何我效率翻倍
    的头像 发表于 11-05 11:16 649次阅读
    迅为3568<b class='flag-5'>开发板</b>从零学习<b class='flag-5'>Linux</b>驱动<b class='flag-5'>开发</b>:迅为一站式资料包如何<b class='flag-5'>让</b>我效率翻倍

    ESP32-P4C5双频Wi-Fi6开发板从组装到上手,看这篇就够了!

    指南,你从拿到开发板到成功运行demo,全程无忧!开箱准备:认识你的开发伙伴打开包装,你会看到以下核心组件:1×ESP32-P4C5开发板
    的头像 发表于 10-15 18:04 924次阅读
    ESP32-P<b class='flag-5'>4C</b>5双频Wi-Fi6<b class='flag-5'>开发板</b>从组装到上手,看这篇就够了!

    RK3506开发板Linux开发板极致性价比之选

    RK3506开发板Linux开发板极致性价比之选瑞芯微RK3506开发板,3核Cortex-A7@1.5GHz+Cortex-M0,Linux
    的头像 发表于 09-11 16:26 4071次阅读
    RK3506<b class='flag-5'>开发板</b><b class='flag-5'>Linux</b><b class='flag-5'>开发板</b>极致性价比之选

    国产!全志T113-i 双核Cortex-A7@1.2GHz 工业开发板Linux系统使用手册(三)

    解压);3)系统编译配置(内核选项、Buildroot、Qt模块配置);4)完整编译流程及生成镜像说明。文档特别强调网络连接要求,并提供实时系统(Linux-RT)的配置方法,适用于N
    的头像 发表于 09-04 14:56 952次阅读
    国产!全志T113-<b class='flag-5'>i</b> 双核Cortex-A7@1.2GHz 工业<b class='flag-5'>开发板</b>—<b class='flag-5'>Linux</b><b class='flag-5'>系统</b>使用手册(三)

    国产!全志T113-i 双核Cortex-A7@1.2GHz 工业开发板Linux系统使用手册(二)

    解压);3)系统编译配置(内核选项、Buildroot、Qt模块配置);4)完整编译流程及生成镜像说明。文档特别强调网络连接要求,并提供实时系统(Linux-RT)的配置方法,适用于N
    的头像 发表于 09-02 16:36 910次阅读
    国产!全志T113-<b class='flag-5'>i</b> 双核Cortex-A7@1.2GHz 工业<b class='flag-5'>开发板</b>—<b class='flag-5'>Linux</b><b class='flag-5'>系统</b>使用手册(二)

    【新品】远距离图传数传模块开发板、蓝牙模块开发板、无线模块开发板

    ,搭配亿佰特自研的远距离图传+数传为一体的远距离无线模块E611-900NW20S进行使用。该款开发板具备完整的功能,拥有16Mbps的传输速率,可实现传输4路108
    的头像 发表于 06-12 19:33 1551次阅读
    【新品】远距离图传数传模块<b class='flag-5'>开发板</b>、蓝牙模块<b class='flag-5'>开发板</b>、无线模块<b class='flag-5'>开发板</b>

    Linux开发板调屏方法,实战经验您少走弯路

    本文介绍Linux系统调试屏幕过程中检查屏幕状态及信息的方法。如:驱动、屏幕连接、分辨率、色彩等状态。基于触觉智能RK3562开发板演示,搭载4核A53处理器,主频高达2.0GHz;内
    的头像 发表于 06-06 18:13 931次阅读
    <b class='flag-5'>Linux</b><b class='flag-5'>开发板</b>调屏方法,实战经验<b class='flag-5'>让</b>您少走弯路