自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 JSON学习

https://blog.csdn.net/weixin_38606332/article/details/80942127http://www.json.org/json-zh.htmlhttps://www.cnblogs.com/Shanghai-vame/p/9832989.htmlhttps://blog.csdn.net/chinawangfei/article/details/46827197

2021-08-20 17:40:14 117

原创 深度学习的异构加速技术

深度学习的异构加速技术(一)https://cloud.tencent.com/developer/article/1006329深度学习的异构加速技术(二)https://zhuanlan.zhihu.com/p/31071066深度学习的异构加速技术(三)https://zhuanlan.zhihu.com/p/31030502...

2021-04-02 11:43:58 498

原创 浅解NUMA机制

导读本文适合知道NUMA这个词但想进一步了解的新手。以下的文章内容包括:NUMA的产生背景,NUMA的架构细节和几个上机演示的例子。NUMA的诞生背景在NUMA出现之前,CPU朝着高频率的方向发展遇到了天花板,转而向着多核心的方向发展。在一开始,内存控制器还在北桥中,所有CPU对内存的访问都要通过北桥来完成。此时所有CPU访问内存都是“一致的”,如下图所示:UMA这样的架构称为UMA(Uniform Memory Access),直译为“统一内存访问”,这样的架构对软件.

2021-04-01 16:58:38 282

原创 C语言学习链接

https://blog.csdn.net/liu17234050/article/details/104237990https://blog.csdn.net/liu17234050/category_9119322.htmlhttps://blog.csdn.net/liu17234050/article/details/104162778https://blog.csdn.net/liu17234050/category_9119319.html

2021-02-04 15:17:21 201

转载 python学习笔记--decimal

Round类型Decimal中大致有以下几种类型,做简单介绍一下,如有错误,希望指正:1)ROUND_UP:舍弃小数部分非0时,在前面增加数字,如 5.21 -> 5.3;2)ROUND_DOWN:舍弃小数部分,从不在前面数字做增加操作,如5.21->5.2;3)ROUND_CEILING:如果Decimal为正,则做ROUND_UP操作;如果Decimal为负,则做ROUND_DOWN操作;4)ROUND_FLOOR:如果Decimal为负,则做ROUND_UP操作;如果D

2020-09-22 10:26:06 360

原创 Python 列表切片陷阱:引用、复制与深复制

Python 列表的切片和赋值操作很基础,之前也遇到过一些坑,以为自己很懂了。但今天刷 Codewars 时发现了一个更大的坑,故在此记录。Python 列表赋值:复制“值”还是“引用”?一维列表:很多入门 Python 的人会犯这样一个错误:在赋值操作=中搞不清是赋了“值”还是“引用”。比如:a = [1, 2, 3]b = ab[0] = 10 # 更改列表 b 的第一个元素,但 a 现在也被更改为了 [10, 2, 3]他可能只想改变列表b,但实际上这样也会改变列表a。.

2020-07-16 15:33:18 157

转载 python字符串排序、列表排序 之 sort()函数与sorted()函数

字符串排序或列表排序,是很实用的功能。大多数排序操作是针对列表的,所以需要先将字符串转换成列表,进行排序,然后再合并成字符串。示例代码如下:s="abxc"l1=list(s) #['a', 'b', 'x', 'c']l1.sort() #['a', 'b', 'c', 'x']s1="".join(l1) #'abcx'1.运用list的sort()函数。sort()函数对原列表进行排序,没有返回值。如上面示例所示。另外,缺省为升序排序,通过revers

2020-06-20 09:24:22 1796

原创 【C语言】const修饰指针的三种效果

当用const进行修饰时,根据const位置的不同有三种不同效果。 判断的标准是:const修饰谁,谁的内容就是不可变的。1 const int *p = &a;  const修饰*p, *p不可变,p是指针,*p是指针p指向的内存单元里的内容,*p不可变也就是p指向的内存单元里的内容是不可变的。PS: 这儿*p是不可变的,但是p是可变的,就是p指向的内存单元或者说变量是可以变的,但是p指向谁,谁的值就不可变。 不可变指的是不能用*p改变a的值,但是a自己或者别的指针还是...

2020-06-10 17:34:50 400

转载 浅谈关于SRAM与DRAM的区别

https://www.cnblogs.com/nano94/p/4014082.html在上体系结构这门课之前,我只知道DRAM用作内存比较多,SRAM用作cache比较多。在今天讲到内存技术时,我对于这两个基础概念有了更加完整的认识。这篇文章是我的听课心得,现在分享给各位,仅供参考,若有错误多多指正。  从名字上看,SRAM与DRAM的区别只在于一个是静态一个是动态。由于SRAM不需要...

2019-04-25 11:17:42 5111

转载 inittab文件的含义及作用

这是Linux系统启动时的初始化脚本,完成了内核加载后,就需要读取这个文件进行系统的初始化了。在初始化过程中,会加载各个设备的驱动,并且运行一系列的系统服务。另外,Linux的运行级别也在这个文件中设置。https://zhidao.baidu.com/question/360420452.htmlinittab的格式,https://blog.csdn.net/zwtxy1231010...

2019-04-12 09:31:11 1780

原创 01_busybox之init_main分析

回顾:U-boot最终目的:启动内核内核最终目的:启动应用程序,(init进程,通过sbin/init或其它)init程序包括以下内容:(1)读取配置文件(2)解析配置文件(3)根据配置文件,启动/执行用户程序配置文件中包括:(1)指定用户程序(2)何时执行////////////////////////////////////////////////////////...

2019-04-10 16:33:17 679

原创 02_内核Kernel start_kernel分析

分析start_kernel (在init/main.c中)大致过程如下一系列初始化setup_arch //解析U-boot传入的启动参数setup_command_line //解析U-boot传入的启动参数parse_early_param do_early_param 从__setup start到__s...

2019-04-09 09:52:34 177

原创 01_内核Kernel head.s之__lookup_machine_type分析

分析bl __lookup_machine_type中的 .long __arch_info_begin # r5 .long __arch_info_end # r6 __arch_info_begin和__arch_info_end 在链接脚本中,arch/arm/kernel/vmlinux.lds如下: __arch_in...

2019-04-09 09:50:12 199

原创 00_内核Kernel的Makefile分析

###### linux-2.6.22.6 分析######编译内核命令:make 或 make uImage#搜uImage(在arch/arm/Makefile中)zImage Image xipImage bootpImage uImage: vmlinux#########################################################...

2019-04-03 16:52:35 169

转载 obj-y和obj-m 的区别

转自:https://blog.csdn.net/qq_28779021/article/details/78583981在内核编译时,主要涉及一下文件:kernel/arch/arm/configs/*.defconfigkernel/driver/*/Makefilekernel/driver/*/Kconfig如果我们想要往内核中增加新的节点,还要涉及到设备树文件,ke...

2019-04-03 16:49:28 2060

转载 SDRAM和重定位

转自:https://blog.csdn.net/aa1050416698/article/details/78034399一、栈的介绍1.设置栈的原因:C语言运行需要一定条件,那就是栈,而这些栈应该在启动代码运行时分配,以供后面C语言的运行。2.C语言与栈的关系:C语言的局部变量都需要栈来实现。如果在启动代码开始时,没有给C部分设置合理的栈地址,那么C语言的局部变量就找不到地方存放,...

2019-03-29 15:22:06 389

转载 uboot之mkconfig分析

转自:https://www.cnblogs.com/zou107/p/5082624.html说明:文件位置:在uboot的目录下,文件名为:mkconfig。本身是一个脚本文件。它的主要作用的是:(1)创建一个重要的符号链接(2)创建一个config.mk文件(在include目录下)(3)创建一个config.h文件(在include目录下)下面会截距一部分重要...

2019-03-28 13:39:45 359

转载 u-boot、kernel打补丁操作

u-boot操作:tar xjf u-boot...cd u-boot..patch -p1 <../u-boot....patch编译:cd u-boot-1.1.6make 100ask24x0_configmake就会在u-boot-1.1.6下生成u-boot.bin,可用oflash来烧写。先安装oflash:把oflash.exe、FTD2XX...

2019-03-28 09:51:33 205

转载 为什么在uboot阶段要关闭watchdog

转自:https://blog.csdn.net/Leezha/article/details/845847821、简要理解什么是watchdog?在嵌入式系统中,很多应用场景是系统长期运行且无人看守的,难免会有概率出现系统死机的情况,此时watchdog的作用就是自动帮你重启系统。watchdog一般为硬件模块。它的硬件逻辑是,硬件上有个记录超时功能,然后要求用户需要每隔一段时...

2019-03-27 20:01:14 712

转载 uboot环境变量(设置bootargs向linux内核传递正确的参数)

转载:http://blog.chinaunix.net/u3/94312/showart_1923637.html这是我uboot的环境变量设置,在该设置下可以运行initram内核(从内存下载到nandflash再运行),但是运行nfs根文件系统的时候一直出错,各种错误。查看了很多资料后猜想应该是uboot传递给linux内核的参数有问题,也就是bootargs的设置有问题。#...

2019-03-27 15:48:59 399

转载 uBoot和Linux内核中涉及到的几个地址参数的理解

转自:http://blog.sina.com.cn/s/blog_6859cadf0101k1ce.htmluBoot和Linux内核中涉及到的几个地址参数的理解 ************************************************* arch/arm/Makefile //内核运行虚拟地址TEXTAD...

2019-03-27 09:43:29 480

转载 bootm引导内核过程详解之一-cmd_bootm

https://blog.csdn.net/sustzombie/article/details/5623589//文件名:u-boot-1.3.1/common/cmd_bootm.c//bootm引导内核过程详解之一-cmd_bootm//Thomas.Yang 2010.05.25/*do_bootm()是bootm命令真正执行的第一个函数主要功能 :1. 复...

2019-03-27 09:33:43 478

转载 【技术】定时器&PWM详解

转自 https://blog.csdn.net/lwj103862095/article/details/7857428S3C2440定时器简介:S3C2440一共有5个16位的定时器,其中定时器0、1、2、3有PWM(脉冲宽度调制)功能,它们都有一个输出引脚(如TOUTn【n为0~3】),可以通过定时器来控制引脚周期性的高、低电平变化,但是定时器4没有输出引脚。定时器顾名思义需要时钟去...

2019-03-07 15:46:39 933

转载 MMU中关于VA和MVA的疑惑??

VA转换成MVA供cache、MMU使用VA->MVA的方法(硬件自动完成):if(VA<32M)MVA=VA|(PID<<25)//PID通过读CP15的C13获得elseMVA=PA为什么要这样转换?MVA=VA|(PID<<25)是因为VA|(PID<<25)就等相当于VA|32M*PID(假...

2019-01-31 14:38:46 2427

转载 【整理】BIOS、BootLoader、uboot对比

biosBIOS是英文"Basic Input Output System"的缩略语,直译过来后中文名称就是"基本输入输出系统"。其实,它是一组固化到计算机内主板上一个ROM芯片上的程序,它保存着计算机最重要的基本输入输出的程序、系统设置信息、开机后自检程序和系统自启动程序。 其主要功能是为计算机提供最底层的、最直接的硬件设置和控制。BootLoaderBootLoader...

2018-12-14 09:48:59 1967

转载 pid_t 到底是什么?

编程时碰到一个语句:pid_t pid = fork();这里的pid_t类似一个类型,就像int型一样,int型定义的变量都是整型的,pid_t定义的类型都是进程号类型。这个语句的意思是定义了一个pid_t类型的变量pid,fork()函数返回一个进程号,这个进程号赋给了pid。pid_t在头文件types.h(sys/types.h)中定义pid_t是一个typedef定义类...

2018-12-11 10:37:17 42012 7

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除