嵌入式
文章平均质量分 51
kalp_yp
这个作者很懒,什么都没留下…
展开
-
C语言类型转换
1.强制类型转换A类型转换为B类型。1.当B类型长度大于A类型,能存放下A类型,结果不变2.当B类型长度小于A类型,不能存放下A类型,则对A类型的值进行截断,截断高位或者低位字节与操作系统的大小端有关,并不是所有强制类型转换都能成功。2.隐式类型转换为编译器主动进行的类型转换从低类型到高类型的隐式类型转换是安全的;而从高类型到低类型的转换是不安全的,会产生截断,从而产生不正确的结果。有以下四种情况:1、算术运算中,由低类型转换为高类型2、赋值表达式中,赋值运算符“=”右边的变量转换原创 2021-04-27 10:40:25 · 228 阅读 · 0 评论 -
RAM ROM
存储器分为RAM和ROMROM:全称为Read-Only-Memory。曾经为只能读不能写,出厂是什么就是什么。后来随着技术的发展,ROM也可以任意修改了、RAM:全称为Readom Access Memory。分为两类。静态RAM(Static RAM/SRAM)。读写速度最快的存储设备。成本高,存储1bit数据需要4-6个晶体管。一般用于CPU的一级/二级缓冲。数据存入后不会消失。只有下次被重新赋值或断电后才会改变或消失,Static变量存储在此。动态RAM(Dynamic RAM/原创 2021-04-25 11:22:32 · 861 阅读 · 0 评论 -
MCU上电做了什么
代码通过编译、汇编、连接后,生成hex文件烧录到ROM中。此时ROM中含有代码的所有信息。MCU上电,CPU从第一行代码开始执行指令(一般在startup的文件中),对RAM进行初始化。1、为全局变量分配地址空间---如果全局变量已赋初值,则将初始值从ROM中拷贝到RAM中,如果没有赋初值,则这个全局变量所对应的地址下的初值为0或者是不确定的。当然,如果已经指定了变量的地址空间,则直接定位到对应的地址就行,那么这里分配地址及定位地址的任务由“连接器”完成。2、设置堆栈段的长度及地址。堆栈段主要是原创 2021-04-23 11:37:50 · 842 阅读 · 0 评论 -
stm32 JTAG和SWD
Jlink是进行ARM CPU的调试设备,JTAG和SWD是该设备调试CPU的两种方式。 Jlink与开发板的连接方式:Jlink的JTAG1,20分别与开发板的JTAG口的1,20连接;7,9分别与开发板的JTAG口(JTAG 即SWDIO和SWCLK)的JTMS、JTCK连接。 SWD与JTAG的区别主要包括: 1.SWD模式比JTAG模式可靠,一般可以使用JTAG模式的情况下都可以使用S原创 2017-08-30 13:21:42 · 996 阅读 · 0 评论 -
在ARM开发板上开机自启动应用程序
修改嵌入式ARM开发板开机自启动程序原创 2017-06-04 14:15:40 · 6666 阅读 · 0 评论 -
互斥锁 pthread_mutex_init()函数
linux下为了多线程同步,通常用到锁的概念。posix下抽象了一个锁类型的结构:ptread_mutex_t。通过对该结构的操作,来判断资源是否可以访问。顾名思义,加锁(lock)后,别人就无法打开,只有当锁没有关闭(unlock)的时候才能访问资源。即对象互斥锁的概念,来保证共享数据操作的完整性。每个对象都对应于一个可称为" 互斥锁" 的标记,这个标记用来保证在任一时刻,只能有一个转载 2016-04-07 14:27:01 · 821 阅读 · 0 评论 -
Linux下undefined reference to ‘pthread_create’问题解决
接触了Linux系统编程中的线程编程模块,可gcc sample.c(习惯把书上的sample代码写进sample.c文件中)出现“undefined reference to ‘pthread_create’”,所有关于线程的函数都会有此错误,导致无法编译通过。问题的原因:pthread不是Linux下的默认的库,也就是在链接的时候,无法找到phread库中哥函数的入口地址,于是链接会失败。转载 2016-04-07 09:59:42 · 654 阅读 · 0 评论 -
Linux下undefine reference to 'FT_Init_FreeType'的解决办法
导入FreeType库后进行编译连接,会出现“undefined reference to 'FT_Init_FreeType'”等错误,所有关于FreeType库的函数都会有此错误,导致无法编译通过。问题的原因:FreeType不是Linux下的默认的库,也就是在链接的时候,无法找到FreeType库中函数的入口地址,于是链接会失败。解决:在gcc编译的时候,附加要加 -lfreet原创 2016-04-07 09:57:45 · 5612 阅读 · 0 评论 -
Linux下undefined reference to ‘pthread_create’问题解决
接触了Linux系统编程中的线程编程模块,可gcc sample.c(习惯把书上的sample代码写进sample.c文件中)出现“undefined reference to ‘pthread_create’”,所有关于线程的函数都会有此错误,导致无法编译通过。问题的原因:pthread不是Linux下的默认的库,也就是在链接的时候,无法找到phread库中哥函数的入口地址,于是链接会失败。转载 2016-03-24 15:32:49 · 281 阅读 · 0 评论 -
Linux网络编程中的基本函数
一.字节排序函数1.#include uint32_t htonl(uint32_t hostlong); //对于long类型的变量,从主机字节序转换为网络字节序uint16_t htons(uint16_t hostshort);//对于short类型的变量,从主机字节序转换为网络字节序uint32_t ntonl(uint32_t netlong);原创 2016-02-18 18:32:06 · 374 阅读 · 0 评论 -
大端模式和小端模式
在 各种计算机体系结构中,对于字节、字等的存储机制有所不同,因而引发了计算机 通信领 域中一个很重要的问题,即通信双方交流的信息单元(比特、字节、字、双字等等)应该以什么样的顺序进行传送。如果不达成一致的规则,通信双方将无法进行正 确的编/译码从而导致通信失败。目前在各种体系的计算机中通常采用的字节存储机制主要有两种:Big-Endian和Little-Endian,下面先从字节序说起。一、什转载 2016-02-18 17:26:37 · 264 阅读 · 0 评论 -
主机、虚拟机、开发板三者互通
我的主机电脑为win7系统,开发板是tiny210,虚拟机是Ubuntu 9.10.首先启用主机电脑的本地连接,关闭无线网络。达到这种效果。接下来更改本地连接的IP地址,设置IP4,改为自定义的IP地址,如下图: 这时ping一下开发板试试:查看开发板的IP地址: 主机ping开发板:显示成功。开发板ping主原创 2015-11-24 09:16:33 · 3985 阅读 · 1 评论 -
secureCRT用串口连接Mini2440方法
第一步:双击打开secureCRT,弹出如下窗口,单击①new session②选择protocol为serial③单击下一步第二步:选择相应的串口号,波特率为115200,数据流控制什么都不要选!单击下一步第三步:给session起名:mini2440,单击完成转载 2015-11-22 14:28:41 · 627 阅读 · 0 评论