使用stm32最小核心板在电脑上对C语言程序里全局变量、局部变量、堆、栈等输出

这篇博客介绍了如何在Ubuntu环境下编译C语言程序,并通过STM32最小核心板进行运行。内容包括在VC6.0中的输出结果,以及在Ubuntu下创建新文件并运行代码的步骤。同时,详细讲解了如何在STM32上配置USART1,烧录程序并观察运行输出。
摘要由CSDN通过智能技术生成

代码

#include <stdio.h>
#include <stdlib.h>
int k1 = 1;
int k2;
static int k3 = 2;
static int k4;
int main( )
{   static int m1=2, m2;
    int i = 1;
    char *p;
    char str[10] = "hello";
    char *var1 = "123456";
    char *var2 = "abcdef";
    int *p1=malloc(4);
    int *p2=malloc(4);
    free(p1);
    free(p2);
    printf("栈区-变量地址\n");
    printf("                i:%p\n", &i);
    printf("                p:%p\n", &p);
    printf("              str:%p\n", str);
    printf("\n堆区-动态申请地址\n");
    printf("                   %p\n", p1);
    printf("                   %p\n", p2);
    printf("\n.bss段\n");
    printf("全局外部无初值 k2:%p\n", &k2);
    printf("静态外部无初值 k4:%p\n", &k4);
    printf("静态内部无初值 m2:%p\n", &m2);
    printf("\n.data段\n");
    printf("全局外部有初值 k1:%p\n", &k1);
    printf("静态外部有初值 k3:%p\n", &k3);
    printf("静态内部有初值 m1:%p\n", &m1);
    printf("\n常量区\n");
    printf("文字常量地址     :%p\n",var1);
    printf("文字常量地址     :%p\n",var2);
    printf("\n代码区\n");
    printf("程序区地址       :%p\n",&main);
    return 0;
}

VC6.0输出结果
在这里插入图片描述

Ubuntu下编译运行

1、创建一个新的文件,写入代码
在这里插入图片描述
2、将文件编辑,运行

gcc -c keil.c
gcc keil.c -o keil
./keil

在这里插入图片描述

stm32编译输出

下载野火指南者板,选择需要的文件

在这里插入图片描述
1、选择USART1接法
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
2、将其Main函数替换成自己的程序
在这里插入图片描述

将其烧录到核心板中,运行

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值