Linux Master/Baremetal Remote 配置下的裸机调试
为了实现在ZC702开发板上的两颗Cortex-A9处理器上实现Linux Master/Baremetal Remote 配置,并对Remote端的裸机程序进行调试,需要注意的几点如下:
一、建立petalinux工程后,执行petalinux-config,选择Kernel Bootargs--->
取消“generate boot args automatically ”,然后选择user set kernel bootargs,回车后输入:
console=ttyPS0,115200 earlyprintk maxcpus=1 mem=384M
保存并退出。
二、执行petalinux-config -c kernel,选择Kernel Features --->,然后取消Symmetric Multi-processing(若不取消,那么在Cpu0启动的时候,CPU1会随之启动。)
三、建立SDK工程,为CPU1建立BSP,设置BSP OS为standalone,cpu为ps7_cortexa9_1,并且BSP setting中设置extra_complier_flags的值为
-g -DUSE_AMP=1 -DUSEAMP=1
四、建立CPU1的程序, 同样OS选为standalone,cpu为ps7_cortexa9_1,建立完成后修改<app_cpu1>/src/lscript.ld,将ps7_ddr_0_S_AXI_BASEADDR的基址和大小分别设置为0x18000000,0x80000000,这是为了避免裸机程序和Linux在运行时发生内存冲突,所以应该设置相应完全独立的两块内存空间来分别执行Linux和裸机程序。在第二步中没有设置Linux 内核基址(默认为0x0),则mem=384M意为(0x0~0x1800 0000)。
五、接下来使用SDK进行裸机程序调试。首先利用petalinux编译生成的zynq_fsbl.elf、download.bit、u-boot.elf文件制作成BOOT.bin,并随同image.ub镜像拷贝到SD中,使ZC702从SD卡启动系统。利用SDK,选择run--->debug configurations,然后按类似以下步骤进行设置。

这边应取消一下几项:

防止cpu0被重启或是重新初始化。
之后切换到application :

最后点击Debug就可以了。
参考文献:1.xapp1078 Simple AMP Running Linux and Bare-Metal System on Both Zynq SoC Processors
2.http://www.wiki.xilinx.com/XAPP1078+Latest+Information
Linux Master/Baremetal Remote 配置下的裸机调试的更多相关文章
- Linux系统centOS7在虚拟机下的安装及XShell软件的配置
前面的话 本文将详细介绍Linux系统centOS7在虚拟机下的安装 准备工作 [系统下载] 在安装centOS7之前,首先在官网下载合适的版本 然后,选择一个链接下载即可 [虚拟机配置] 接下来,需 ...
- Oracle数据库学习(一):虚拟机下Oracle Linux的安装与配置
这篇博文主要以图片的形式讲述Oracle Linux在虚拟机下的安装与配置 一.前期虚拟机安装ISO文件的配置 1.创建新的虚拟机 2.选择“自定义(高级)”选项,下一步,默认“虚拟机硬件兼容性”或选 ...
- 负载均衡配置下的不同服务器【Linux】文件同步问题
负载均衡配置下的不同服务器[Linux]文件同步问题2017年04月13日 22:04:28 守望dfdfdf 阅读数:2468 标签: linux负载均衡服务器 更多个人分类: 工作 问题编辑版权声 ...
- Linux 各类设置、配置、使用技巧参考,Linux使用集锦
========== 参考格式 (新增记录时,复制粘贴在下)============= [日期]: <标题> 参考链接ref1: 参考链接ref2: 正文: ========== 参考格式 ...
- Linux ->> UBuntu 14.04 LTE下安装Hadoop 1.2.1(集群分布式模式)
安装步骤: 1) JDK -- Hadoop是用Java写的,不安装Java虚拟机怎么运行Hadoop的程序: 2)创建专门用于运行和执行hadoop任务(比如map和reduce任务)的linux用 ...
- linux服务器应用NTP配置时间同步
linux服务器应用NTP配置时间同步 • 为什么建议使用ntpd而不是ntpdate? #####原因很简单,ntpd是步进式的逐渐调整时间,而ntpdate是断点更新,比如现在服务器时间是9.18 ...
- 一步步玩pcDuino3--mmc下的裸机流水灯
第一部分是玩pcduino3下的裸机.这个过程能够让我们更好的理解嵌入式系统,熟悉我们使用的这个平台. 首先介绍下开发环境: 虚拟机:VMware® Workstati ...
- Linux双网卡绑定配置
Linux双网卡绑定配置 环境介绍 Linux Redhat 6.5.4张网卡 需求 4张网卡两两绑定,4张网卡分别是eth ...
- linux中MySQL主从配置(Django实现主从读写分离)
一 linux中MySQL主从配置原理(主从分离,主从同步) mysql主从配置的流程大体如图: 1)master会将变动记录到二进制日志里面: 2)master有一个I/O线程将二进制日志发送到sl ...
随机推荐
- javascript闭包详解
以前写过一篇关于javascript闭包的随笔,javascript闭包,但是写的不够详细,也没有体现出闭包的强大之处.故作此篇. 众所周知,javascript没有块级作用域,只有函数作用域.那就意 ...
- 音频播放(iOS开发)
音频处理 一.录音 录音应用场景 语音聊天 即时通讯软件中,都包含语音发送功能 语音备忘录 录一段音频,来记录某件事情 录音功能实现 导入AVFoundation框架 作用:一些多媒体的处理,基本上都 ...
- github创建tag
最近在使用github给新的jQuery插件:滚动高亮 添加版本库的时候,看到很多github上的项目都有这个标签,可以清晰快速的找到每个不同的版本,非常方便以后查找以及使用.于是我就在继上一次的:将 ...
- (8)Launcher3客制化之ContentProvider内容提供者,实现其它应用改动数据库更新等操作
首先加入两个权限 <uses-permission android:name="com.android.launcher3.permission.READ_SETTINGS" ...
- 【转】oracle创建表空间
原文:http://www.cnblogs.com/netsql/articles/1745978.html 注意点: 1.如果在PL/SQL 等工具里打开的话,直接修改下面的代码中[斜体加粗部分]执 ...
- GoogleProgressBar
https://github.com/jpardogo/GoogleProgressBar
- iOS开发之蓝牙通信
一.引言 蓝牙是设备近距离通信的一种方便手段,在iPhone引入蓝牙4.0后,设备之间的通讯变得更加简单.相关的蓝牙操作由专门的 CoreBluetooth.framework进行统一管理.通过蓝牙进 ...
- 命令行修改weblogic用户名和密码
语法为:java weblogic.security.utils.AdminAccount <NewAdminUserName> <NewAdminPassword> dir ...
- Linux--------------安装vim
1.相关提示 -bash: vim: command not found 2.查看vim是否安装 rpm -qa|grep vim vim-en ...
- iOS开发UI篇-实现tableView的层级显示
进来要实现一个tableView 的cell层级显示,网上找的思路都各不相同.下面说一下我的实现思路. 根据根标题存储cell的展开状态,添加到字典中. 话不多说,直接上代码. #define S ...