为了实现在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 配置下的裸机调试的更多相关文章

  1. Linux系统centOS7在虚拟机下的安装及XShell软件的配置

    前面的话 本文将详细介绍Linux系统centOS7在虚拟机下的安装 准备工作 [系统下载] 在安装centOS7之前,首先在官网下载合适的版本 然后,选择一个链接下载即可 [虚拟机配置] 接下来,需 ...

  2. Oracle数据库学习(一):虚拟机下Oracle Linux的安装与配置

    这篇博文主要以图片的形式讲述Oracle Linux在虚拟机下的安装与配置 一.前期虚拟机安装ISO文件的配置 1.创建新的虚拟机 2.选择“自定义(高级)”选项,下一步,默认“虚拟机硬件兼容性”或选 ...

  3. 负载均衡配置下的不同服务器【Linux】文件同步问题

    负载均衡配置下的不同服务器[Linux]文件同步问题2017年04月13日 22:04:28 守望dfdfdf 阅读数:2468 标签: linux负载均衡服务器 更多个人分类: 工作 问题编辑版权声 ...

  4. Linux 各类设置、配置、使用技巧参考,Linux使用集锦

    ========== 参考格式 (新增记录时,复制粘贴在下)============= [日期]: <标题> 参考链接ref1: 参考链接ref2: 正文: ========== 参考格式 ...

  5. Linux ->> UBuntu 14.04 LTE下安装Hadoop 1.2.1(集群分布式模式)

    安装步骤: 1) JDK -- Hadoop是用Java写的,不安装Java虚拟机怎么运行Hadoop的程序: 2)创建专门用于运行和执行hadoop任务(比如map和reduce任务)的linux用 ...

  6. linux服务器应用NTP配置时间同步

    linux服务器应用NTP配置时间同步 • 为什么建议使用ntpd而不是ntpdate? #####原因很简单,ntpd是步进式的逐渐调整时间,而ntpdate是断点更新,比如现在服务器时间是9.18 ...

  7. 一步步玩pcDuino3--mmc下的裸机流水灯

            第一部分是玩pcduino3下的裸机.这个过程能够让我们更好的理解嵌入式系统,熟悉我们使用的这个平台.         首先介绍下开发环境: 虚拟机:VMware® Workstati ...

  8. Linux双网卡绑定配置

    Linux双网卡绑定配置                                       环境介绍 Linux Redhat 6.5.4张网卡 需求 4张网卡两两绑定,4张网卡分别是eth ...

  9. linux中MySQL主从配置(Django实现主从读写分离)

    一 linux中MySQL主从配置原理(主从分离,主从同步) mysql主从配置的流程大体如图: 1)master会将变动记录到二进制日志里面: 2)master有一个I/O线程将二进制日志发送到sl ...

随机推荐

  1. javascript闭包详解

    以前写过一篇关于javascript闭包的随笔,javascript闭包,但是写的不够详细,也没有体现出闭包的强大之处.故作此篇. 众所周知,javascript没有块级作用域,只有函数作用域.那就意 ...

  2. 音频播放(iOS开发)

    音频处理 一.录音 录音应用场景 语音聊天 即时通讯软件中,都包含语音发送功能 语音备忘录 录一段音频,来记录某件事情 录音功能实现 导入AVFoundation框架 作用:一些多媒体的处理,基本上都 ...

  3. github创建tag

    最近在使用github给新的jQuery插件:滚动高亮 添加版本库的时候,看到很多github上的项目都有这个标签,可以清晰快速的找到每个不同的版本,非常方便以后查找以及使用.于是我就在继上一次的:将 ...

  4. (8)Launcher3客制化之ContentProvider内容提供者,实现其它应用改动数据库更新等操作

    首先加入两个权限 <uses-permission android:name="com.android.launcher3.permission.READ_SETTINGS" ...

  5. 【转】oracle创建表空间

    原文:http://www.cnblogs.com/netsql/articles/1745978.html 注意点: 1.如果在PL/SQL 等工具里打开的话,直接修改下面的代码中[斜体加粗部分]执 ...

  6. GoogleProgressBar

    https://github.com/jpardogo/GoogleProgressBar

  7. iOS开发之蓝牙通信

    一.引言 蓝牙是设备近距离通信的一种方便手段,在iPhone引入蓝牙4.0后,设备之间的通讯变得更加简单.相关的蓝牙操作由专门的 CoreBluetooth.framework进行统一管理.通过蓝牙进 ...

  8. 命令行修改weblogic用户名和密码

    语法为:java weblogic.security.utils.AdminAccount <NewAdminUserName> <NewAdminPassword>  dir ...

  9. Linux--------------安装vim

    1.相关提示        -bash: vim: command not found    2.查看vim是否安装        rpm -qa|grep vim            vim-en ...

  10. iOS开发UI篇-实现tableView的层级显示

     进来要实现一个tableView 的cell层级显示,网上找的思路都各不相同.下面说一下我的实现思路.  根据根标题存储cell的展开状态,添加到字典中. 话不多说,直接上代码. #define S ...