KEIL MDK平台 S3C2440 编译链接、烧写调试
KEIL MDK平台 S3C2440 编译链接、烧写调试
- KEIL MDK平台 S3C2440 编译链接、烧写调试
- 建立工程,添加源文件
- 编译链接源程序
- 代码烧写与调试
- 博客同款例程
KEIL MDK平台 S3C2440 编译链接、烧写调试
本系列博文将从软件仿真开始一步步介绍KEIL MDK平台 S3C2440汇编/c语言程序的编辑、编译、链接、调试过程,以及建立裸机程序、移植ucos操作系统、移植ucGUI的全过程。
本帖将介绍基于KEIL MDK平台 S3C2440 编译链接、烧写调试的上机过程。以最简单的led例程为例。硬件平台是友善之臂公司出品的micro2440核心板及底板套件。本文将介绍如何将S3C2440的ADS平台例程移植到MDK平台。
建立工程,添加源文件
1.启动MDK,建立工程,芯片选择三星(Samsung)的S3C2440A。
2.出现提示是否添加汇编语言的启动文件,我们这里选择否。我们这里采用ADS例程中的启动文件。
3.将ADS1.2平台的myled例程下的源文件复制到MDK的工程目录。
4.将如下源文件添加到工程
5.添加c语言包含文件夹
6.添加汇编语言包含文件夹
编译链接源程序
1.选择创建编译链接输出文件夹Objects
2.设置ROM1、RAM1的地址和空间(重要关键)
3.按F7或Bluid编译链接工程,提示有1个错误,6个警告。
其中警告可以忽略,错误提示找不到复位程序入口。这是因为在MDK平台需要显式地定义以RESET命名代码段作为复位程序的入口点。
原例程中定义的代码段名字叫INIT修改为Reset
4.重新编译,提示2440init.s中5个错误,6个警告。
错误提示找不到标号。该标号其实对应分散加载文件.sct中的分段的标号。如下
; *************************************************************
; *** Scatter-Loading Description File generated by uVision ***
; *************************************************************LR_ROM1 0x00000000 0x00200000 { ; load region size_regionER_ROM1 0x00000000 0x00200000 { ; load address = execution address*.o (RESET, +First)*(InRoot$$Sections).ANY (+RO)}RW_RAM1 0x30000000 0x04000000 { ; RW data.ANY (+RW +ZI)}RW_IRAM1 0x40000000 0x00001000 {.ANY (+RW +ZI)}
}
将源文件中所有的
|Image$$RO$$Base|
|Image$$RO$$Limit|
|Image$$RW$$Base|
|Image$$ZI$$Base|
|Image$$ZI$$Limit|
分别替换成
|Image$$ER_ROM1$$RO$$Base|
|Image$$ER_ROM1$$RO$$Limit|
|Image$$RW_RAM1$$RW$$Base|
|Image$$RW_RAM1$$ZI$$Base|
|Image$$RW_RAM1$$ZI$$Limit|
4.再次编译链接,有出现一个新的错误
该错误提示在2440init.s中没有8字节对齐。在代码段定义的前一句添加代码PRESERVE8。再次编译无错误。
代码烧写与调试
1.选择Debug功能
2.选择烧写的FLASH算法
3.烧写成功,开发板led灯闪亮
博客同款例程
https://download.csdn.net/download/weixin_41551104/13134436
KEIL MDK平台 S3C2440 编译链接、烧写调试相关推荐
- RV1126编译及烧写
文章目录 前言 一.编译内核.根文件系统及烧写 1.编译 2.烧写 二.APP编译 1.配置编译规则 总结 前言 对于第一次拿到rv1126板子还是挺陌生的,本文适合新手小白参看. 一.编译内核.根文 ...
- Orangepi 3 全志H6 uboot的编译与烧写
Orangepi 3 全志H6 uboot的编译与烧写 使用OrangePi_SDK中shell脚本编译uboot 不使用OrangePi_SDK中shell脚本编译uboot 环境:Ubuntu18 ...
- M5Stack(ESP32)学习笔记(9)—— 编译并烧写M5Stack的MicroPython固件
UIFlow是个挺不错的编程环境,适合新手学习.它基于MicroPython(Lobo版本),也可以脱离UIFlow的IDE来用Python编程.但是把玩了几天后,我发现M5Stack的原配UIFlo ...
- Uboot初次编译、烧写、启动(启动界面log简析)
目录 U-Boot 初次编译 U-Boot 烧写与启动 上述笔记第三点就是建立shell脚本实现的 第四点就是修改Makefile文件实现的,下面均有实现步骤讲解. U-Boot 初次编译 先编译体验 ...
- Android实战技巧之四十:Android5.1.1源代码编译与烧写
购买Nexus手机的朋友大多是为了自己修改系统玩,再加上其较高的性价比,在开发者中还是广受欢迎的.我的5太子被我升级到了6.0预览版,玩的正嗨,舍不得换回到5.1时代了.不过鉴于距6.0源码发布还有段 ...
- Android实战技巧之四十 Android5 1 1源代码编译与烧写
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 购买Ne ...
- A33_Vstar_Android_SDK开发 编译及烧写遇到的问题【汇总】
A33_Vstar_Android_SDK开发 遇到的问题 整理一下Android SDK编译及烧写的时候,遇到的问题和解决的办法 问题1 .tar.bz2文件解压命令 解决办法: .tar.gz ...
- Jetson TX1内核kernel编译与烧写
Data: 2017.09.13 Author: cjh Theme: Jetson TX1内核kernel编译与烧写 PS :本人用的JetPack版本为3.0 1. Getting ...
- ZynqLinux最小系统系列—— 4、Petalinux工程创建与编译以及烧写到FLASH(二)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 ZynqLinux最小系统系列-- 4.Petalinux工程创建与编译以及烧写到FLASH(二) 写在前面 接上一篇 烧写FLASH ...
- k60烧写调试遇到的问题总结
烧写调试遇到的问题总结 问题一 报错: Fatal Error[Lc002]: could not open file "D:\IAR\arm\config\config files\vca ...
最新文章
- 浅析java中的语法糖
- NLP预训练家族 | Transformer-XL及其进化XLNet
- Linux 搜索 查找find命令 详解
- 前端中台化,把格局做大:Node.js与测试服务探索
- 入门嵌入式HTML/CSS/脚本引擎 sciter(问题篇)
- android+化学输入法,化学输入法使用说明.pdf
- Win10桌面美化:推荐2款高质量桌面美化工具,值得收藏
- 关于分布函数连续性的运用
- meteor使用简介
- cookie中__jsl_clearance参数的破解。
- kvm最多能管几台服务器,高效管理500台服务器的kvm切换器配置方案
- BI神器Power Query(18)-- PQ制作时间维度表(7)
- Pytorch深度学习基础 实战天气图片识别(基于ResNet50预训练模型,超详细)
- CASCAN拍照式三维扫描仪精密测量叶轮和逆向设计综合技术解决方案
- 苹果Mac电脑系统优化清理工具CleanMyMac X
- Ubuntu 有望成为最jia Linux 游戏桌面
- librosa.load报错。audioread.NoBackendError
- 9月Libra开发人员更新-路线图#1
- 自定义view - 收藏集 - 掘金
- 专利申请被驳回,如何专利复审?
热门文章
- Anaconda3+Tensorflow2.0(gpu)安装教程-小新Pro13英特尔独显版win10系统
- xilinx PCIe PIO工程仿真及验证
- 懂得,是生命中最美的缘
- unity3D用鼠标和射线控制物体移动(二)
- 解决玩Minecraft时鼠标Dpi不稳定问题
- 中台服务架构的一点思考
- 图数据库初探——6. Nebula Graph安装和简单使用
- 伟大的数学思想家—黎曼
- 大麦携演协发布演出市场报告:95后成消费新贵 城市下沉提速
- 删除xp计算机用户账户,XP系统怎么删除多余的用户帐号?XP系统删除多余用户帐号的方法...