
嵌入式软件
文章平均质量分 74
wwwlyj123321
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
linux同步网络时间
(1)ntpdate如果只是通过NTP服务器同步系统时间,可以使用命令ntpdate(位于/usr/sbin/下,使用ntpd会提供更佳全面的功能)。Ntpdate用到的库包括:libcap.so.1 => /lib/libcap.so.1、libc.so.6 => /lib/tls/libc.so.6、/lib/ld-linux.so.2 (0xf6fdf000)。将该命令文件及相关的库都复制到这台机器上,并找到一个最近的稳定的N...原创 2022-01-29 15:28:34 · 2187 阅读 · 0 评论 -
modulenotfounderror: no module named ******
在我们执行python程序时经常碰到:modulenotfounderror: no module named ******,这是提示没有找到对应的包,一般直接使用pip 命令进行安装即可。但是有的时候,即使pip提示已经安装成功,但程序依旧报错。但我明明已经安装过一次了,再次执行安装命令意识如下:注意到python2.7了嘛?看到这个我恍然大悟!!我安装了两个python版本,pip命令默认给我安装到python2的环境中,而我是使用python3运行的代码。所以重新使用命令安装:原创 2020-11-14 22:04:23 · 782 阅读 · 0 评论 -
数据类型的大小与编译器、cpu、操作系统的关系
一、前言关于这个话题讨论的很多,观点也很多,但是我认为数据类型的大小和编译器直接相关。另外附上一个网友的回帖:不要迷信书、考题、老师、回帖;要迷信CPU、编译器、调试器、运行结果。并请结合“盲人摸太阳”和“驾船出海时一定只带一个指南针。”加以理解。任何理论、权威、传说、真理、标准、解释、想象、知识……都比不上摆在眼前的事实!关于cpu和操作系统的参见以博客:https:/...原创 2019-08-21 22:02:22 · 1410 阅读 · 0 评论 -
位操作符以及在操作寄存器中时的作用
一、位操作符1、位与&(1)注意:位与符号是一个&,两个&&是逻辑与。(2)真值表:1&0=0 1&1=1 0&0=0 0&1=0(任何数,其实就是1或者0)与1位与无变化,与0位与变成02、位或|(1)注意:位或符号是一个|,两个||是逻辑或。(2)真值表:1|0=1 1|1=1 0|0=0 0|1=1...原创 2019-08-22 10:23:21 · 1310 阅读 · 0 评论 -
c语言之——指针(一)
一、指针是什么?指针的实质就是个变量,指针完整的名字应该叫指针变量,简称为指针。指针变量是用来存放内存地址的。二、如何使用指针?1.定义指针变量int *p;//p是个变量名字, int * 表示该p变量只能存储int类型变量的地址2.关联指针变量int i = 10;p = &i;//关联指针变量将整形变量i的地址赋值给指针变量p,我们称作p指向i;...原创 2019-08-22 17:06:55 · 280 阅读 · 0 评论 -
#define和typedef
一、简介#define(宏定义)只是简单的字符串代换(原地替换),它本身并不在编译过程中进行,而是在这之前(预处理过程)就已经完成了。typedef常用来定义一个标识符及关键字的别名,它是语言编译过程的一部分,但它并不实际分配内存空间。例如使用typedef 定义size_t类型:typedef int size_t;//类型是一个数据模板,变量是一个实在的数据。类型是不占内存的...原创 2019-08-23 14:49:00 · 237 阅读 · 0 评论 -
c语言之——结构体(一)
一、什么是结构体结构体(struct)是由一系列具有相同或不同类型的数据构成的数据集合,是一种特殊的数据类型。区别与数组的是,数组内部是相同类型的数据。二、如何使用结构体#include<stdio.h> //定义一种数据类型struct Student{ int sid; char name[200]; int age;}; //分号不能省 int...原创 2019-08-23 15:28:02 · 348 阅读 · 0 评论 -
C语言之——公用体(联合体)
一、共用体概述共用体是一种自定义数据类型,它的定义格式为:union 共用体名{ 成员列表};结构体和共用体的区别在于:结构体的各个成员会占用不同的内存,互相之间没有影响; 共用体的所有成员共享同一段内存,同一时间只能储存其中一个数据成员,共用体所占的空间不仅取决于最宽成员,还跟所有成员有关系,即其大小必须满足两个条件:1)大小足够容纳最宽的成员;2)大小能被其包含...原创 2019-08-27 14:52:02 · 1415 阅读 · 0 评论 -
代码段,数据段,bss段,堆,栈
一、内核空间和用户空间对于32位操作系统而言,它的寻址空间(虚拟存储空间)为4G(2的32次方)。操作系统的核心是内核,独立于普通的应用程序,可以访问受保护的内存空间,也有访问底层硬件设备的权限。为了保证用户进程不能直接操作内核,保证内核安全,操作系统将虚拟空间划分为两部分,一部分是内核空间,一部分是用户空间。针对Linux操作系统,将最高的1G字节(从虚拟地址0xC0000000到0xFFF...原创 2019-08-27 21:29:23 · 1041 阅读 · 0 评论 -
C语言之——void和NULL
一、void(1)void用于函数声明没有返回值的函数,其类型为 voidvoid perror( const char * );参数列表中的关键字 void 表示该函数没有参数FILE *tmpfile( void );(2)指向void的指针void类型的正确的含义是:不知道类型,不确定类型,还没确定类型。一个 void* 类型的指针代表了对象的地址,但...原创 2019-08-28 20:01:27 · 1140 阅读 · 0 评论 -
C语言之——结构体(二)
一、结构体的对齐访问总体上遵循两个原则:(1)、整体空间是占用空间最大的成员(的类型)所占字节数的整数倍;(2)、数据对齐原则---内存按结构体成员的先后顺序排列,当排到该成员时,其前面已摆放的空间大小必须是该成员类型大小的整数倍,如果不够则补齐,依次向后类推。(变量声明的顺序也可能影响内存的分配方式)我们举个栗子:某台机器是32位,即这个机器...原创 2019-08-25 22:01:06 · 568 阅读 · 0 评论 -
C语言之——字符串
一、C语言没有原生字符串类型(1)很多高级语言像java、C#等就有字符串类型,有个String来表示字符串,用法和int这些很像,可以String s1 = "linux";来定义字符串类型的变量。(2)C语言没有String类型,C语言中的字符串是通过字符指针来间接实现的。二、C语言使用指针来管理字符串(1)C语言中定义字符串方法:char *p = "linux";此时p就叫...原创 2019-08-25 20:46:52 · 301 阅读 · 0 评论 -
KEIL中Templates Window的使用以及如何添加自己的注释模板
前言:在使用keil进行代码编辑的时候,为了加速代码编写,我们希望对一些常用的代码或者注释进行快速插入,比如if...else switch case等流程控制语句。可以使用KEIL中自带的模版窗口进行操作。一:快速添加模版代码在左下角打开模版窗口(Templates Window)如果没有找到模版窗口,可以按照以下步骤恢复显示:View->Templates Wi...原创 2019-05-25 17:34:19 · 9743 阅读 · 4 评论 -
SSH登录TX2
一:TX2端的操作1.安装openssh-serversudo apt-get install openssh-server2.确认sshserver是否启动:ps -e |grep ssh如果看到sshd那说明ssh-server已经启动了。如果没有则可以这样启动:sudo /etc/init.d/ssh start3.ssh-server配置文件位于/...原创 2019-08-14 17:30:14 · 1438 阅读 · 0 评论 -
c语言之——const关键字
一、简介(1)const关键字,在C语言中用来修饰变量,表示这个变量不可更改。我们可能首先想到的是经过它修饰的变量便是常量了。其实我们这种想法是错误的,其实const修饰的变量是只读的,其本质还是变量。它只是告诉编译器该变量不能出现在赋值符号的左边。那么,const修饰的变量真的不能修改吗?我么看如下代码#include <stdio.h>int main(v...原创 2019-08-23 16:40:33 · 444 阅读 · 0 评论 -
c语言之——指针(二)
一、函数指针1.什么是函数指针(1)函数指针的实质还是指针变量,与数组指针、普通指针之间并没有本质区别。(2)如果在程序中定义了一个函数,那么在编译时系统就会为这个函数代码分配一段存储空间,这段存储空间的首地址称为这个函数的地址。而且函数名表示的就是这个地址函数指针的定义方式为:函数返回值类型 (* 指针变量名) (函数参数列表);但是这里需要注意的是:“(*指针变量名...原创 2019-08-23 20:00:27 · 554 阅读 · 0 评论 -
cpu的位宽、数据总线位宽,地址总线位宽,操作系统的位宽
一、CPU的位宽cpu的位宽暂时没有严格的定义,但是一般从数值上来讲:cpu的位宽 = 数据总线的位宽 = cpu内部通用寄存器的位宽 =机器字长放出一个百度百科对于机器字长的定义供大家理解概念:机器字长:机器字长是指计算机进行一次整数运算所能处理的二进制数据的位数,通常也是CPU数据通道的宽度,通常等于CPU的通用寄存器位宽。机器字长会影响机器的运算速度。倘若CPU字长较...原创 2019-08-21 11:29:07 · 9792 阅读 · 5 评论 -
什么是大小端?如何确定大小端?
一、什么是大小端?对于一个由2个字节组成的16位整数,在内存中存储这两个字节有两种方法:一种是将低序字节存储在起始地址,这称为小端(little-endian)字节序;另一种方法是将高序字节存储在起始地址,这称为大端(big-endian)字节序。假如现有一32位int型数0x12345678,那么其MSB(Most Significant Byte,最高有效字节)为0x12,其LSB...原创 2019-08-25 19:59:40 · 117937 阅读 · 15 评论 -
printk函数的用法
printk在内核源码中用来记录日志信息的函数,只能在内核源码范围内使用。用法和printf非常相似printk函数主要做两件事情:第一件就是将信息记录到log中,而第二件事就是调用控制台驱动来将信息输出。1.日志级别printk相比printf来说还多了个:日志级别的设置,用来控制printk打印的这条信息是否在终端上显示的,当日志级别的数值小于控制台级别时,printk要打印的信息...原创 2019-03-12 20:44:06 · 41946 阅读 · 0 评论