ARM的开发环境入门

    科技2022-07-11  81

    嵌入式系统开发 第三周作业

    1. 安装mdk5软件和stm32包

    安装mdk5 1 按照pdf安装mdk

    2 离线模式安装pack

    其中一个pack,报错翻译为不支持包架构版本“1.4.0”。最大支持的版本是’1.2。请更新到的更新版本,所以如有需要此pack的请自行升级MDK的版本,但对于初学者stm32 pack1.0.4已经足够。

    3 mdk5的破解 必须以管理员的身份进入keil否则会添加license错误 进入license management页面复制cid 打开keil generic keygen ,之前版本破解日期为2020,改为2032 破解完成 详细安装请参照https://blog.csdn.net/qq_45264808/article/details/108899662?utm_source=app

    2. LED闪烁

    https://github.com/2414466154/seven 下载工程文件 新建工程 跟工程文件同一目录 关闭该界面,不用keil所带的

    将文件工程名改成stm_led.STM32F103CB. 添加文件 我这里有点小问题不能添加文件夹 然后再C/C++中define中填入USE_STDPERIPH_DRIVER, STM32F10X_MD

    添加include path。

    点击output,勾选生成hex

    #include "led.h" void LED_GPIO_Config(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOB, &GPIO_InitStructure); }

    写点灯代码 在新建一个led.h代码如下

    #ifndef __LED_H #define __LED_H #include "stm32f10x_gpio.h" #define ON 0 #define OFF 1 #define LedControl(a) if(a) GPIO_SetBits(GPIOB,GPIO_Pin_5); else GPIO_ResetBits(GPIOB,GPIO_Pin_5) void LED_GPIO_Config(void); #endif

    main函数代码如下图所示

    #include "stm32f10x.h" #include "led.h" void Delay(u32 count) { u32 i=0; for(;i<count;i++); } int main(void) { LED_GPIO_Config(); while(1) { //GPIO_ResetBits(GPIOB, GPIO_Pin_5); LedControl(ON); Delay(1000000); //GPIO_SetBits(GPIOB, GPIO_Pin_5); LedControl(OFF); Delay(1000000); } }

    结果如下 proteus仿真

    双击 STM32F103R6 芯片,链接 MDK 生成的 .hex 文件: 仿真结果如下

    3.C51程序设计和仿真

    先前已安装,跳过安装步骤 这个根据开发板使用的 CPU 具体的型号来选择,像是普中 51-双核-A6、普中 51-双核-A7、普中 51-双核-A8、HC6800-EM3 V2.2、HC6800-EM3 V2.2C、HC6800-EM3 V3.0 开发板采用的是 STC89C516 芯片,开拓者、HC6800-ES V2.0、普中 51-单核-A2 使用的是 STC89C52 芯片。但实际上在 KEIL C51 软件内找不到这些芯片类型,但我们可以选择 AT89C51 或者 AT89C52,它们都是 51 内核,软件代码兼容。这里选择 AT89C52,具体操作如下。

    点击否 然后编写main.c,如上,生成.hex文件。(keil5无法上述操作,仍旧按照keil4)

    #include "reg51.h" void main(void) { P0 = 0x0; //点亮P0端口上的LED灯 }

    仿真结果如下

    总结

    keyen.exe记得关声音 添加工程时记得添加启动文件 添加路径一定要正确不然会无法找到目录 参考资料 https://blog.csdn.net/qq_41991417/article/details/102594675 https://blog.csdn.net/weixin_43155866/article/details/88429527
    Processed: 0.014, SQL: 8