【Experience combined】
文章平均质量分 81
种瓜大爷
Graphics Stack:Linux Openharmony Android
PKS体系深度耕耘者,为国产化奉献一份力量!
展开
-
CPU, DSP, GPU, FPGA对比
学习于QiuooooooCPU 一般来说CPU运算能力最弱,CPU虽然主频最高,但是单颗也就8核、16核的样子,一个核3.5g,16核也就56g,再考虑指令周期,每秒最多也就30g次乘法。还是定点的。DSP &nbs...原创 2019-04-19 16:17:51 · 11000 阅读 · 0 评论 -
编译内核 mkimage command not found – U-Boot images will not be built
环境:unbuntu16.04系统:linux 3.4.2错误提示:mkimage” command not found – U-Boot images will not be built 按照以往经验,我们需要安装依赖包: sudo apt-get install uboot-mkimage但却提示”现在没有可用的软件包 uboot-mkimage,但是它被其...原创 2018-03-21 20:44:00 · 620 阅读 · 0 评论 -
Can't use 'defined(@array)'
编译64位内核kernel/timeconst.pl问题解决 Can’t use ‘defined(@array)’ (Maybe you should just omit the defined()?) at kernel/timeconst.pl line 373. 不能在kernel / timeconst.pl行373使用’defined(@array)’(也许你应该省略...原创 2018-03-21 20:30:27 · 2366 阅读 · 1 评论 -
Symbol 'acs_map' has different size in shared object, consider re-linking
环境:unbuntu16.04make menuconfig配置内核的时候出现如下图错误:`Symbol ‘acs_map’ has different size in shared object, consider re-linking`解决:sudo apt-get install libncurses5-dev libncursesw5-dev...原创 2018-04-08 14:08:30 · 3093 阅读 · 0 评论 -
NFS挂载的问题svc: svc: failed to register lockdv1 RPC service (errno 110).
问题描述:使用命令:mount -t nfs 192.168.2.3:/work/nfs_root/smxk /mnt 来进行nfs挂载时挂载失败如图: 解决: - 加入选项-O nolockmount -t nfs -o nolock 192.168.2.3:/work/nfs_root/smxk /mnt...原创 2018-04-08 11:10:21 · 2037 阅读 · 0 评论 -
快速搜索自己的博文
推荐google和bing“要检索的关键词> site:blog.csdn.net/博客名>” eg:putty site:blog.csdn.net/czg13548930186新版的CSDN主页搜索功能还不错: 博客设置 -> 博客皮肤 缺点就是太白太亮了,开启了护眼模式还是刺眼 眼睛都他吗要瞎。。。原创 2018-01-31 16:59:59 · 942 阅读 · 2 评论 -
使用gcc中的__attribute__指定字节对齐
在x86(32位机器)平台下,GCC编译器默认按4字节对齐:如:结构体4字节对齐,即结构体成员变量所在的内存地址是4的整数倍。可以通过使用gcc中的_attribute_选项来设置指定的对齐大小① attribute((packed)),让所作用的结构体取消在编译过程中的优化对齐,按照实际占用字节数进行对齐 ② attribute((aligned (n))),让所作用的结构体成员对齐在n字节边原创 2017-12-14 12:10:47 · 5253 阅读 · 0 评论 -
自己实现printf函数
在嵌入式开发中,常常会通过串口打印一些信息到PC终端,这就需要实现自己的printf函数。我们先通过man 3 printf来看一下printf函数的声明: int printf(const char *format, ...); format:固定参数 … :可变参数(变参)下面解析printf函数的使用: x86平台VC6.0编译器中,stdarg.h头文件内变参宏定义如下,本次原创 2017-12-13 22:39:42 · 5015 阅读 · 1 评论 -
undefined reference to '_modsi3'和`__udivdi3'
【问题描述】:自己实现printf函数来方便裸板调试打印的时,在printf函数中用到了求余%和除法/操作: 结果报错: 【问题分析】:ARM是精简指令集,对求余和除法操作基本上不支持,所以应该尽量避免上述操作。【解决方法】:linux内核源码linux/arch/arm/lib/lib1funcs.S实现支持除法、求模操作等操作的库函数,下载地址:https://gitee.com/zgdy/原创 2017-12-13 22:59:51 · 2161 阅读 · 0 评论 -
使用ldr命令注意事项
今天犯了一个小错误,调试了几个小时;最后重新分析了几遍反汇编才发现。万丈高楼平地起、勿以浮沙驻高台。错误代码:.text.global _start_start: b reset ldr pc,=und_addr ldr pc,=swi_addrund_addr: .word undefswi_addr: .word swi_handleundef:原创 2017-12-11 18:45:30 · 3382 阅读 · 1 评论 -
链接脚本使用AT加载地址的总结
(一)如果不使用AT这个选项,比如下边这个连接脚本 此时在bin文件里的位置就是烧写到某个地址(比如0地址),然后顺着往下排,具体在文件哪个地址不确定。但在ELF文件里,它的地址信息是从0x30000000开始 <—-> 在bin文件的位置那个地址和elf中的地址信息不一样(二)如果使用AT这个选项,比如下边这个连接脚本 此时main.o在bin文件里的位置在4096(4096之前未使用的原创 2017-12-11 11:05:33 · 6917 阅读 · 1 评论 -
Linux dd命令详解
busybox dd if=/dev/zero of=/dev/block/mmcblk0 bs=512 seek=1 count=1 conv=sync解释:f=/dev/zero:输入文件名为/dev/zeroof=/dev/mmcblk0:输出文件名为/dev/mmcblk0bs=512:读块和写块的大小都为512B(这里的输出文件为一个块设备,块大小的设置跟块设备中每块的大小相关)seek=1:跳过第一个块count:只拷贝一个块conv:若读取的输入块不足512B,那么不足的部分填充原创 2017-11-22 20:42:40 · 16928 阅读 · 0 评论 -
Source insight使用技巧
source insight下载<里面有汉化过程和我的两种配色方案>① Source insight创建文件打开SI,选择Project -> Newprojice ②source insight 工程窗口的嵌入停靠通常来说,对于那些子窗口,当我们用鼠标拖拽窗口接近软件边沿的时候,一般的软件都有自动停靠功能。但是在source ins...原创 2018-03-22 09:51:49 · 3855 阅读 · 0 评论 -
arm-linux-gcc编译时出现stray '\357''\273' '\277' in program的解决方法
用arm-linux-gcc编译文件的时候突然出现了一大堆错误,用gcc编译可以通过。。。一头雾水!!!example1.c:1: error: stray ‘\357’ in program example1.c:1: error: stray ‘\273’ in program example1.c:1: error: stray ‘\277’ in program ...原创 2018-04-26 20:29:49 · 10843 阅读 · 1 评论 -
Ubuntu第三方软件仓库源(国内源)
一般来说ubuntu官方的软件仓库由于服务器在国外,下载更新速度较慢,需要将软件仓库更换为国内镜像点。1、修改源配置文件 ① 先备份原来的配置文件mv /etc/apt/sources.list /etc/apt/sources.list.bak vim /etc/apt/sources.list ② 将国内的Ubuntu镜像点添加到配置文件Ubuntu 1...原创 2018-05-24 13:14:25 · 23227 阅读 · 0 评论 -
全志平台设备固件升级方法
注:之前在第一次升级了固件之后,想重新升级固件,按照全志给出的烧写固件的方法,始终进入不去烧写模式!经查阅资料,原来全志平台的固件,在带系统之后进入烧写模式的方法不一样。–>>>>>>>>>>>>>>>...原创 2019-04-26 22:39:39 · 7349 阅读 · 0 评论 -
warning: backslash and newline separated by space
翻译 警告:反斜杠和换行符以空格分隔!删除反斜杠符""后面的空格,按方向键右键查看 在delete删除.原创 2019-01-05 13:28:42 · 8082 阅读 · 0 评论 -
如何在ARM下进行高效的C编程?
如何在ARM下进行高效的C编程?通过一定的风格来编写C程序,可以帮助C编译器生成执行速度更快的ARM代码。下面就是一些与性能相关的关键点:1.对局部变量、函数参数和返回值要使用signed和unsigned int类型。这样可以避免类型转换,而且可高效地使用ARM的32位数据操作指令。2.最高效的循环体形式是减计数到零(counts down to zero)的do-while循环。3.展...原创 2018-10-24 15:16:41 · 1137 阅读 · 0 评论 -
Ubuntu16.04系统下汉字显示为方框解决办法
学习于: https://www.cnblogs.com/zlslch/p/6971112.html问题详情:问题分析:今天一打开Ubuntu系统,竟然不支持中文显示了。开始时以为是中文输入法的问题,后面重装了也不行。然后我就一直在网上搜“Ubuntu系统不支持中文”,“Ubuntu系统中文显示乱码”等问题,殊不知已经查找错了方向。直到看到一篇帖子说这不是中文乱码或者...原创 2018-10-10 11:45:19 · 7626 阅读 · 0 评论 -
各种品牌机器启动按键
进入BIOS设置按键:原创 2018-07-21 15:16:41 · 1242 阅读 · 0 评论 -
Linux中将一个文件内容输入到另一个文件中
Linux将一个文件内容输入到另一个文件中:① 追加重定向: eg: a.c b.ccat a.c >> b.c② 使用vim直接读取: vim b.c执行:r a.c原创 2018-07-24 10:22:21 · 33640 阅读 · 2 评论 -
【基础】16进制乘除
和10进制一样 不过逢16进1。原创 2018-06-28 22:19:17 · 11114 阅读 · 3 评论 -
【基础】volatile unsigned int * a和 (volatile unsigned int *) a
错误: (volatile unsigned int *)pGPFCON = (volatile unsigned int *)0x56000050; (volatile unsigned int *)pGPFDAT = (volatile unsigned int *)0x56000054;(int*)a将指针变量a强制类型转换为整型指针,一般不放在等号左边in...原创 2018-07-04 10:39:04 · 1803 阅读 · 0 评论 -
Ubuntu 16.04 几个国内更新源
学习于bovenson博客,感谢。 一般来说ubuntu官方的软件仓库由于服务器在国外,下载更新速度较慢或者由于安装的软件版本比较新,需要将软件仓库更换为国内镜像点。 eg: 正在读取软件包列表… 完成 正在分析软件包的依赖关系树 正在读取状态信息… 完成 有一些软件包无法被安装。如果您用的是不稳定(unstable)发行...原创 2018-06-29 21:01:16 · 2001 阅读 · 0 评论 -
unbuntu16.04解决无法获得锁问题
终端提示:E:无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用)E: 无法锁定管理目录(/var/lib/dpkg/),是否有其他进程正占用它?解决:sudo rm /var/cache/apt/archives/lock sudo rm /var/lib/dpkg/lock 一次不行多来几次!!!...原创 2018-05-24 15:28:38 · 4207 阅读 · 2 评论 -
Ubuntu软件仓库源(16.04正版源)
#deb cdrom:[Ubuntu 16.04 LTS _Xenial Xerus_ - Release amd64 (20160420.1)]/ xenial main restricted# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to# newer versions of the dis...原创 2018-05-24 15:22:40 · 3933 阅读 · 1 评论 -
S5PV210启动过程分析
一、iROM启动方式简介 九鼎X210开发板的SoC为三星S5PV210,S5PV210采用iROM启动方式进行启动,通过查阅三星官方S5PV210文档s5pv210_irom_applicationnote_preliminary可知,iROM启动方式支持从MoviNAND/iNand, MMC/SD Card ,pure Nand, eMMC, eSSD, UART and USB等存储原创 2017-09-25 21:26:32 · 1642 阅读 · 0 评论 -
C代码中如何使用链接脚本中定义的变量
原文内容:http://www.100ask.org/bbs/forum.php?mod=viewthread&tid=16231&page=1&authorid=2---------------------------------------------------------------------------------------------------------------------原创 2017-11-14 21:45:21 · 4548 阅读 · 0 评论 -
ARM与Thumb之间的状态转换
由于Thumb指令在某些特殊情况下可能比ARM指令更有效,所以它在很多方面得到了广泛的应用。但是Thumb知识ARM指令集的一个子集,它不能独立组成一个应用系统,所以在很多情况下应用程序需要二者的混合编程,这就必然存在ARM与Thumb状态之间函数调用的问题。下面将分别详细介绍。1) 状态切换的实现ARM/Thumb之间的状态切换是通过一条专用的转移交换指令BX来实现的。BX指令以通用寄原创 2017-11-27 11:52:24 · 14030 阅读 · 0 评论 -
有道云笔记Markdown笔记添加图片
1. 创建一个笔记本,专门用于存放这些图片 2. 分享笔记本 3. 打开分享的链接,找到那张图片,右键复制链接 4. 这个链接的url就可以用在有道云笔记的Markdown笔记里面了哥。。。。真厉害了。。。~原创 2016-12-06 22:01:01 · 3854 阅读 · 1 评论 -
CodeBlocks的常用快捷键
CodeBlocks常用操作快捷键编辑部分:Ctrl + A:全选Ctrl + C:复制Ctrl + X: 剪切Ctrl + V:粘贴Ctrl + Z:撤销Ctrl + S:保存Ctrl + Y / Ctrl + Shift + Z:重做Ctrl+Shift+C:注释掉当前行或选中块Ctrl+Shift+X:解除注释Tab:缩进当前行或选中块Shif原创 2017-07-16 11:21:14 · 5664 阅读 · 0 评论 -
VM无法将网络更改为桥接状态:没有未桥接的主机网络适配器
故障描述:第一步,确定本地的有线和无限网卡支持VM桥接第二步,设备管理器中的驱动设备正常加载,但是注意这两个虚拟网卡是有问题的>如果你发现你没这两个虚拟网卡,那你一定是重装过系统或者升级了VM出现的。原因是卸载以前VM的时候没有现在赶紧,此类方法不适合你,请点击我跳转另一类方法!第三步,将虚拟机里的网络设置删除第四步,清空网卡后点击恢复默认设置注:如果这样不能搞定那么一定是之前的虚拟机没有卸载干净,原创 2017-08-11 16:00:33 · 120053 阅读 · 27 评论 -
VMware没有虚拟网卡出现
——问题概述:相信大家在因各种原因删除卸载vm虚拟机后,突然有一天想要重装vm在本机做一个其他类型的系统来满足一些学习工作需求,但是安装完了以后发现没有虚拟网卡无法桥接!,在百度谷歌上苦苦搜索,在各大论坛苦苦询问,并没什么卵用……——问题分析:●下载的vm虚拟机安装包是精简版。 ●以前安装过vm虚拟机,没卸载删除干净。(这是重点!) ●重做过系统。——解决办法:①下载vm虚拟机完整版安装包,自己原创 2017-08-11 16:17:16 · 114848 阅读 · 183 评论 -
如何解决warning: no newline at end of file?
编写代码的时候, 是在共享文件夹Windows下编辑的, 保存后放在linux系统下编译.英文的意思就是说文末没有换行符。windows中按下回车键等效于"\r\n",在linux中按下回车键等效于'\n',在mac中按下回车键等效于'\r';在最后一行处打多一个回车,多一个空行出来就可以了。汇编文件中这个警告还没有解决,先留着。原创 2017-07-12 11:00:48 · 20199 阅读 · 0 评论 -
makefile:4: *** missing separator. Stop.
如图:解决方法:Makefile格式命令前需要有一个table在第4行前面加上一个tabletable>原创 2017-07-12 11:22:15 · 3367 阅读 · 0 评论 -
Error: no such instruction: `ldr sp,=4096'
错误提示如图:我的汇编文件名字为.S(大写)查看Makefile%.o:%.s将%.s改成%.S即可。注意文件名与Makefile的一致性!原创 2017-07-12 10:54:23 · 1514 阅读 · 0 评论 -
shell脚本中cd命令无效的解决方案
在学习的时候,经常要切换到固定的文件夹,于是写了个shell脚本用cd命令切换却发现目录切换不了。代码如下: #! /bin/bash# c.shcd /mnt/hgfs/vmsharepwd 解释:执行的时候是./c.sh来执行的,这样执行的话终端会产生一个子shell(类似于C语言调用函数),子shell去执行我的脚本,在子shell中已经切换了目录了,但是子shell一旦执行完,马上原创 2017-06-04 20:15:41 · 19050 阅读 · 6 评论 -
(.ARM.exidx+0x0): undefined reference to `__aeabi_unwind_cpp_pr0'错误
(.ARM.exidx+0x0): undefined reference to `__aeabi_unwind_cpp_pr0'错误-nostdlib原创 2017-02-05 17:45:18 · 1332 阅读 · 0 评论 -
64位系统结构体对齐访问段错误
结构体对齐访问段错误代码环境变换时候,注意测试一下数据类型的长度。原创 2017-02-01 23:49:22 · 1914 阅读 · 0 评论 -
warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失原创 2017-04-17 20:10:26 · 3404 阅读 · 0 评论