自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

MDXZ

很小很白的摸爬滚打

  • 博客(16)
  • 收藏
  • 关注

原创 step_4补充:使用分支

使用分支使用如下搭配来进行选择性的编译路径 ifeq(arg1,arg2) /*如果arg1和arg2相等执行这里*/ else /*否则执行这里*/ endif修改Makefile如下: #定义变量 ARCH ?= x86 TARGET = hello_main CFLAGS=-I . DEPS = hello_func.h OBJS = hello_main.o hello_func.o ifeq ($(ARCH),x86) CC = gcc else C

2021-01-09 10:59:10 313

原创 step_4 以step_3为基础修改链接规则

以step_3为基础修改链接规则修改后Makefile如下 #step_3 改变默认规则 #定义变量 #cc=gcc #cflags=-i . #deps = hello_func.h #目标文件 #hello_main: hello_main.o hello_func.o # $(cc) -o hello_main hello_main.o hello_func.o #*.o文件的生成规则 #%.o: %.c $(deps) # $(cc) -c -o $@ $&

2021-01-09 10:57:40 280

原创 Makefile使用变量 和 step_3 以step_2为基础修改默认规则

基本语法基本语法-赋值“=”: 延时赋值,该变量只有在调用的时候,才会被赋值“:=”:直接赋值,与延时赋值相反,使用直接赋值的话,变量的值定义时就已经确定了。“?=”:若变量的值为空,则进行赋值,通常用于设置默认值。“+=”:追加赋值,可以往变量后面增加新的内容编写Makfile实验,代码如下 VAR_A = FILEA VAR_B = $(VAR_A) VAR_C := $(VAR_A) VAR_A = FILEB VAR_D ?= FILED .phony: chec

2021-01-09 10:55:49 326

原创 step2:以step_1 中的Makefile为基础使用.o作为依赖

源代码与step1中一致。Makefile文件修改依赖为.o把依赖文件由C文件改成.o文件,gcc编译命令也做了相应的修改。不过由于 C 编译成同名的.o 文件是 make 的默认规则,所以这部分内容通常不会写上去。修改后的Makefile#hello_main:hello_main.c hello_func.c# gcc -o hello_main hello_main.c hello_func.c -I .#.PHONY:clean#clean:# rm -f *.o hello

2021-01-09 10:50:40 334

原创 step_1 添加Makfile文件

step_1 添加Makfile文件在hello_main.c所在目录新建Makefile文件。 mdxz_18@mdxz18:~/lzp/workdir/base_code/linux_app/makefile_step/step_1$ vim Makefile编写Makefile内容如下: hello_main:hello_main.c hello_func.c gcc -o hello_main hello_main.c hello_func.c -I . clean: r

2021-01-09 10:48:43 227

原创 step_0_新建演示文件

新建演示源文件func_main.c#include "hello_func.h"int main(){ hello_func(); return 0;}func_func.c#include <stdio.h>#include "hello_func.h"void hello_func(void){ printf("hello ,world.\n"); for(int i=0;i<10;i++) { printf("output i=%d.\n",

2021-01-09 10:43:45 317

原创 uboot移植第一阶段relocate中的error总结1

一、背景主要是在学习朱老师物联网课程uboot移植中碰到的问题的解决。二、工具介绍使用VMware虚拟机搭建Ubuntu14.04的Linux运行环境。将从uboot官方fip下载的2013.10的uboot移植到九鼎x210开发板。三、问题及解决方案问题描述:/root/porting_x210/uboot_2013_10/u-boot-2013.10/arch/arm/lib/...

2018-12-14 19:21:50 589

原创 uboot移植第一阶段relocate中的error总结0

一、背景主要是在学习朱老师物联网课程uboot移植中碰到的问题的解决。二、工具介绍使用VMware虚拟机搭建Ubuntu14.04的Linux运行环境。将从uboot官方fip下载的2013.10的uboot移植到九鼎x210开发板。三、问题及解决方案1、问题描述:movi.c: In function ‘movi_bl2_copy’:movi.c:28: error: ‘SDMMC...

2018-12-14 18:35:41 428

原创 x210中的uboot启动流程分析

第一部分 背景介绍一、什么是uboot?二、为什么要有uboot?三、uboot的需要解决的问题?/uboot的作用?第二部分 准备工作一、代码来源二、查看工具第三部分 uboot结构分析一、uboot_jiuding目录分析(位置:uboot_jiuding/)文件夹分析apiapi_examplesboardcommoncpudiskdocdriverse...

2018-11-30 21:32:21 630

原创 S5PV210中断的介绍与配置

一、介绍1、三星S5PV210中断体系介绍异常向量表(矢量中断控制器)异常向量表是CPU中某些特定地址的特定定义,当中断发生的时候,中断要通知CPU处理中断,在CPU设计时,定义了CPU中一些特定地址作为特定异常的入口地址,异常向量表的实现,是基于SoC内部的矢量中断控制器。关于矢量中断控制器的描述,这里摘录了网友“亦大乐谍“的博客:S5PV210是三星推出的一款基于Cortex-A8...

2018-10-14 15:15:37 1007

原创 SDRAM简单介绍(重定位前的初始化)

一、概念SDRAM1、名词解释SDRAM: Synchronous Dynamic Random Access Memory,同步动态随机存储器,同步是指内存工作需要同步时钟,内部的命令的发送与数据的传输都以它为基准;动态是指存储阵列需要不断的刷新来保证数据不丢失;随机是指数据不是线性依次存储,而是自由指定地址进行数据读写。DDR: DDR=Double Data Rate双倍速率...

2018-10-07 23:14:18 1316

原创 Linux安装软件(自己动手安装交叉编译工具链)

一、Windows与Linux中安装软件特点比较Windows中安装软件的特点:Windows中装软件适用安装包,安装包解压后有2中情况:一种是有安装文件(.exe .msi)双击进行安装,下一步直到安装完毕,安装完毕后会生成快捷方式,可以点击启动程序。另一种是所谓的绿色软件、免安装软件,这种不用安装,直接解压开里面就有exe可以直接执行。Linux中安装软件的特点Linux中安装软...

2018-10-05 10:08:40 6264

原创 S5PV210使用dnw刷机(或者secureCRT出现Uart negotiation Error错误)的解决方法

一、问题描述本教程可用于解决当使用secureCRT进行串口调试时出现“Uart negotiation Error”或者出现“”提示时,可采用本教程内容进行dnw刷机。我自己出现了除了secureCRT不能用,当时dnw也提示插入的SD卡有问题,也采用了这种方法解决。```二、问题分析通过查阅相关博客,secureCRT出现通信异常的原因主要是由于板子没有烧写系统(或系统不完整)导...

2018-10-02 20:47:21 2127 2

原创 1.3开发板刷系统

1.3.3.1什么叫刷系统刷系统就是利用刷机工具,向开发板中烧录预先编译好的系统镜像,使之在开发板上运行起来1.3.3.2串口输出的意义串口就是一种硬件通信口,很多年前串口是CPU之间通信的主要接口,速度很低,现在主要用来作程序输出监控、调试 桌面电脑可以打开一个虚拟控制台,嵌入式系统一般是用串口来做控制台的。一般是用一根串口线连接开发板的串口和我们电脑的串口,然后在电脑上打开一个串口

2017-11-12 19:31:17 551

原创 1.2ARM汇编指令集的特点

8种寻址方式寄存器寻址 mov r1,r2立即寻址 mov r#0xFF00寄存器移位寻址 mov r0,r1,lsl #3 寄存器间接寻址 ldr r1,[r2] 基址变址寻址 ldr r1,[r2,#4]多寄存器寻址 ldmia r1!,{r2-r7,r12} 堆栈寻址 stmfd sp!,(r2-r7,lr)相对地址 flag:be

2017-11-05 10:58:37 981

原创 欢迎使用CSDN-markdown编辑器

基于野火STM32指南者开发板平台ucosIII的系统移植问题汇总1-编译时出现部分库文件丢失或编译器无法打开的情况及解决方案..\..\User\BSP\bsp.h(74): ***error: #5: cannot open source input file "stm32f10x_lib.h": No such file or directory*** #include <stm

2017-10-17 16:05:52 496

空空如也

空空如也

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

TA关注的人

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