手机随时阅读
新人专享大礼包¥24
使用CM4内核自带的FPU需要在编译的时候添加编译选项:--cpu Cortex-M4.fp,以使能FPU指令集,否则使用的是普通
没有串口的情况下可以使用JLINK的RTT即 Real Time Transfer功能。RTT的工作原理大致就是在内存里面创建一个RTT控制块RTT Co
自己习惯的AD操作:1、高亮当前层:shift + s2、修改多个被选中器件的共通属性: view -> workspace panels -> PCB -> pcb inspector3、选中多个测量标注:shift + c1
W801是平头哥内核的WIFI芯片。给到的SDK里面没有找到中断向量表重定向的函数,类似于STM32的NVIC_SetVectorTable,所以中断向量
调用"lv_disp_drv_init"函数初始化一个显示设备驱动,一个显示设备驱动的结构体内容如下:typedef struct _lv_disp_drv_t { lv_coord_t hor_res; /**< Horizontal
浮点数精度问题。
依山傍水房树间,行也安然,住也安然。一条耕牛伴顷田,收也凭天,荒也凭天。雨过天晴驾小船,鱼在一边,酒在一边。夜晚妻子话灯前,今也淡淡,古也淡淡。日上三竿尤在眠,不是神仙,胜是神仙。他人穿好我褴衫,生也坦然,去也坦然。日复一日年复年,愁也一天,欢也一天。冬梅腊雪坐窗沿,炉在一边,茶在一边。傍晚知己酒桌前,哀也谈谈,乐也谈谈。寒时卧榻正好眠,不是神仙,胜似神仙。...
URL被编码/转义之后(转换工具地址:URL在线编码转换工具),原始URL字符串内容被改变了,例如:&fm=217&app=126&f=JPEG?w=363&h=225&s=9转为:%26fm%3D217%26app%3D126%26f%3DJPEG%3Fw%3D363%26h%3D225%26s%3D9可以发现其中“&s=9”被转成了“%
#ifdef MEMORY_DEBUG#define MALLOC(_SIZE) malloc(_SIZE)#define FREE(_P) f
代码为了兼容32位MCU和64位PC机(例如PC上运行UI模拟器,PC上的UI代码需要可以在MCU上无修改直接编译运行),需要注意在64位的PC上,指针的长度是8个字节,计算机的字长可以使用:sizeof(long)或者sizeof(void *)来计算。如果需要分配一个指针的内存空间,不能直接分配4字节,而是分配字长的字节数。另外,进行指针的强制类型转换获取指针的值的时候,需要注意不要用 uin
链接脚本文件,用于控制链接过程。以stm32在Linux环境下编译作为示例,项目链接git库地址:tangquan/test.ld_file.proghttps://gitee.com/tq797/test.ld_file.prog各种原因,参考教程的地址在文件startup_stm32f401xc.c里面。...
计算机启动过程:1、BIOS是计算机上电时运行的代码,实现上电自检和系统加载工作。进入BIOS的时候按F12或者某个按键可以进入BIOS选项,可以进行BIOS配置。 2、BIOS配置的时候可以选择BOOT Device,可以是磁盘、网络、CDROM、U盘等。3、选择了磁盘启动的话,BIOS会将磁盘的MBR加载到内存中运行,MBR的前446个字节是启动引导
FreeRTOS官方给了两种内存溢出检测方案:FreeRTOS - stacks and stack overflow checkingFreeRTOS is a portable, open source, mini Real Time kernel. A
参考维基百科文章:Application binary interfacehttps://en.wikipedia.org/wiki/Application_binary_interfaceABI全称Application binary interface,和API
参考文章,介绍微内核操作系统概念:操作系统微内核介绍https://zhuanlan.zhihu.com/p/364429755下面这篇文章是将微内核和宏内核的概念放在应用软件开发中去的,微内核架构的软件支持插件的形式扩展软件功能:什么是微内核架构_春哥大魔王的博客-CSDN博客什么是微内核架构相信大家都听说过微内核架s
man syscallsThe system call is the fundamental interface between an application and the Linux kernel.
...
突然感觉自己的C语言基础好差劲。定义一个二维数组:char a[8][64];又有两个函数定义如下:void testfun1(char **strings, int count);void testfun2(char strings[][64], int count);如果把数组a传入到 testfun1 中去,软件挂了。如果把数组a传入到 testfun2 中去,软件正常。定
#define MARK DUER_PRINT_FUN("MARK:[%s,%d]", __FUNCTION__, __LINE__);Crash在121行了。
所有STM32系列芯片都自带ISP功能,进入ISP的方式就是BOOT0置1,然后上电或复位,这时候芯片从系统存储区启动,进入ISP功能,可以使用串口0进行软件烧写。STM32F2/3/4系列芯片不仅有传统的UART ISP功能,
简介ARM指令集、Thumb指令集和Thumb2指令集:ARM指
#include <stm32f10x_conf.h>#include "sys.h"#include
如下图,编译cmd_test.c 文件的时候先包含 cmd_test.h,然后cmd_test.h内部又包含了command.h,command.h内部包含scli.h,在scli.h里面又反过来包含了command.h,这种存在循环包含关系的容易出现错误。因为在前面已经包含过command.h,所以__LIBSCLI_COMMAND_H__这个宏就已经被定义过了,那么在处理scli.h头文件的时候command.h里面的内容就不会被包含了,这时候就会报错了。...
FTP协议中规定创建两个通讯链路,第一个是固定由客户端连接到服务器的控制通路,一个是数据通路。数据通路的建立有两种方式,一种是Active方式,一种是被动方式。由于 目前更多客户端主机都是处于防火墙或者NAT路由器后面,FTP服务器无法主动连上客户机,所以现在大都采用被动式的升级方式。 FTP may operate in an active or a passive mode, which d
一.Linux系统设备驱动程序概述 1.1 Linux设备驱动程序分类 1.2 编写驱动程序的一些基本概念 二.Linux系统网络设备驱动程序 2.1 网络驱动程序的结构 2.2 网络驱动程序的基本方法 2.3 网络驱动程序中用到的数据结构 2.4 常用的系统支持 三.编写Linux网络驱动程序中可能遇到的问题 3.1 中断共享
概述 linux内核镜像常见到的有两种形式,zImage和uImage。这两种文件的格式稍有差别,所以启动这两种格式的内核镜像也会有所不同。目前,uboot只支持启动uImage类型的镜像,对zImage还不支持(但是可以移
参考文章: http://blog.chinaunix.net/uid-28458801-id-4243864.html 和其他设备一样,Linux也是通过设备文件来提供访问串口的功能。当需要访问串口的时候,你只需要open相应的文件。Linux系统上一般有一个或者多个串口,一般串口设备在dev文件夹中的名称为ttyS0、ttyS1之类的,S表示的是Serial的意思。使用系统调用open函数
RTOS系统应用经常需要导入三方库,但是RTOS系统有别于Linux系统,无法使用动态链接库,所以很多库都是重复的,这会导致链接过程中出现: symbol xxx multiply defined by xxx的错误。如果某个库重复了
提交代码到服务器需要评审,但是评审过程很慢,期间本地代码需要继续开发,继续提交到本地仓库。
家用上网一般都是使用的路由器NAT模式,NAT(Network Address Translation)就是把内部私有网络地址转换成合法外部网络地址。家庭用户发出的网络请求都会被NAT路由器将数据帧的源地址(内部地址)转换成路由器的对外的外部地址。例如,如果路由器WAN口拥有一个公网IP:180.0.0.10/24,其内部构建了一个192.168.0.0/24的私有网络,其中192.168.
Copyright © 2005-2022 51CTO.COM 版权所有 京ICP证060544号