DM36xIPNC  ubuntu12.04环境搭建整理(rev.B)(原创,转载请注明作者)

环境:ubuntu12.04LTS

目标板卡:TMS320DM36x IPNC 或者DVR

  • tftp服务器

1. 安装相关的软件包:

sudo apt-get install tftpd-hpa tftp-hpa

2. 修改配置

配置文件在 /etc/default/tftpd-hpa,内容如下:

# /etc/default/tftpd-hpa

TFTP_USERNAME=”tftp”
TFTP_DIRECTORY=”/tftpboot”
TFTP_ADDRESS=”0.0.0.0:69″
TFTP_OPTIONS=”-l -c -s”

/tftpboot为tftp服务的目录,如果事先不存在的话我们需要创建它

sudo mkdir /tftpboot

chown user /tftpboot

这里的user需换成你开发时所用的用户

3. 重新启动TFTP服务:

sudo service tftpd-hpa restart

4. 测试

$ cd /tftpboot

$ echo “hello tftp service”>>a.txt

$ tftp localhost

tftp> get a.txt

如果这一步执行成功的话说明从tftp服务器下载东西已经成功!

  • nfs服务器 1、安装Ubuntu nfs

Ubuntu上默认是没有安装Ubuntu nfs服务器的,因此我们首先安装Ubuntu nfs服务器端:

$sudo apt-get install nfs-kernel-server

2。配置/etc/exports

Ubuntu nfs允许挂载的目录及权限在文件/etc/exports中进行了定义例如,我们要将根目录下的rootfs目录共享出来,那么我们需要在/etc /exports文件末尾添加如下一行:/rootfs *(rw,sync,no_root_squash)

其中:/rootfs是要共享的目录,*代表允许所有的网络段访问,rw是可读写权 限,sync是资料同步写入内存和硬盘,no_root_squash是Ubuntu nfs客户端分享目录使用者的权限,如果客户端使用的是root用户,那么对于该共享目录而言,该客户端就具有root权限

本人的配置如下:

/rootfs *(rw,sync,no_subtree_check)

注意:在使用之前请将挂载的目录权限全部设置成777即执行sudo chmod 777 /rootfs。另外请把/rootfs替换成你希望挂载的目录

注意:rw sync等之间是不能有空格的,否则报exportfs: /etc/exports:1: syntax error: bad option list

3、Ubuntu nfs重启服务

$sudo service portmap restart

$sudo service nfs-kernel-server restart

如果出现如下错误:

mount: wrong fs type, bad option, bad superblock on xxxxxx,

missing codepage or helper program, or other error

(for several filesystems (e.g. nfs, cifs) you might

need a /sbin/mount. helper program)

In some cases useful info is found in syslog – try

dmesg | tail or so

解决方法:sudo apt-get install nfs-common

4、测试Ubuntu nfs

此时可以运行以下命令来显示一下共享出来的目录:
$showmount -e
或者可以使用以下命令把它挂载在本地磁盘上,例如将/rootfs挂载到/mnt下:
$ sudo mount -t nfs localhost:/rootfs /mnt
可以运行df命令查看是否挂载成功。查看后可以使用以下命令卸载:
$ sudo umount /mnt

  • 下面是开发软件建立

5,板子烧写测试(请参照官方说明文档)

我的总结见txt

6.编译环境搭建(原版见User_guide_IPNC_dm36x.pdf)

0).首先安装交叉编译链:(1.1G)解压后,接着解压缩到/opt/mv_pro_5.0。

添加环境变量(三种方法,这里只说修改全部用户的方法)

export PATH=/opt/mv_pro_5.0/montavista/pro/devkit/arm/v5t_le/bin:/opt/mv_pro_5.0/montavista/common:$PATH

然后重启,或者source /etc/profile

成功后可以使用arm_v5t_le_*命令

1) Copy the file “dvsdk_2_10_01_18_ipnc_dm36x_xxx.tar.gz” from

<install dir>/Application/src/ to <installDir>/ directory in your Linux

desktop.

2) Extract DVSDK using following command.

tar -zxvf dvsdk_2_10_01_18_ipnc_dm36x_xxx.tar.gz

This will install the standard DVSDK package needed for IPNC

application under directory dvsdk_2_10_01_18

3) Make an IPNC code application folder for convenience of code

arrangement

mkdir ipnc

cd ipnc

4) Copy following files from <install dir>/Application/src/ to

<installDir>/ipnc directory in your Linux desktop.

This should copy following files to your Linux Directory:

• ipnc_app_dm36x_priv_xxx.tgz

• ipnc_app_dm36x_open_xxx.tgz

• ipnc_app_dm36x_appro_xxx.tgz

• lsp_ipnc_dm36x_xxx.tgz

5) Extract linux kernel tar file using the following command.

tar -zxvf lsp_ipnc_dm36x_xxx.tgz

This will install the standard Linux package needed for IPNC

application under directory ti-davinci

6) Extract the ipnc application using the following command:

tar -zxvf ipnc_app_dm36x_priv_xxx.tgz

This will install ipnc_app, av_server directory, Makefile and

Rules.make file.

7) Extract all the open source components file using the following

command:

tar -zxvf ipnc_app_dm36x_open_xxx.tgz

This will install all the open source components to ipnc_app folder.

8) Extract the 2A component file using the following command:

tar -zxvf ipnc_app_dm36x_appro_xxx.tgz

This will install all 2A related files to av_server directory.

9) Create a TFTP directory for generating file system and linux kernel.

mkdir tftp

mkdir ./target

10)安装cramfs工具:

从http://sourceforge.net/projects/cramfs/下载cramfs-1.1.tar.gz。然后执行

tar zxvf cramfs-1.1.tar.gz

进入解包之后生成cramfs-1.1目录,执行编译命令:

make

编译完成之后,会生成mkcramfs和cramfsck两个可执行文件,其中mkcramfs工具是用来创建cramfs文件系统的,而cramfsck工具则用来进行cramfs文件系统的释放以及检查。将这两个文件拷贝到/usr/local/bin目录下,方便使用.

11)sudo cramfsck -x /home/guo/dm365ipnc/ipnc/target/filesys cramfsImage_ipnc_dm365_2.6.0

这条指令将官方的文件系统解压到开发目录

7.开始编译

编译前需要对makefile和rules进行更改

1)修改根目录下的/ipnc/Rules.make,根据实际调整以下选项

MVTOOL_DIR :=

/opt/dm36x/mv_pro_5.0/montavista/pro/devkit/arm/v5t_le

IPNC_INSTALL_DIR := /home/<user>/DM36x/

HOME := $(IPNC_INSTALL_DIR)/ipnc

DVSDK_BASE_DIR := $(IPNC_INSTALL_DIR)/dvsdk_2_10_01_18

TFTP_HOME :=

TARGET_FS :=

KERNELDIR :=

AVSERVER_DIR

$(HOME)/tftp

$(HOME)/target/filesys

$(HOME)/ti-davinci

:= $(HOME)/av_capture/build

SYSTEM := IPNC

HARDWARE := DM368

2)进入./ipnc目录make sysall进行编译(这里有官方文档不会提到的错误及解决方案)

编译时的错误:

cp: 无法获取"/home/guo/dm365ipnc/ipnc/ti-davinci/arch/arm/boot/uImage" 的文件状态(stat): 没有那个文件或目录

解决办法:使用make uImage编译生成的内核能由uboot引导,编译时会用到mkimage工具

sudo apt-get install u-boot-tools

make menuconfig 出错:scripts/kconfig/lxdialog/dialog.h:31:20: 致命错误: curses.h:没有那个文件或目录编译中断。

解决办法:ubuntu系统中缺少一个套件ncurses devel ,把此套件安装下即可

$ sudo apt-get install libncurses5-dev

DM365IPNC开发环境搭建相关推荐

  1. Android环境搭建和Android HelloWorld—Android开发环境搭建

    Android_Android开发环境搭建-搭建Android的开发环境 1.我考虑先下载JDK7.0,在JDK的安装中,考虑一般SDK都是向上兼容的,于是选择了最高的版本7.0 这里是我总结的详细的 ...

  2. qt工程在linux系统里颜色显示错误_【飞凌嵌入式RK3399开发板试用体验】+QT开发环境搭建测试(二)...

    作者:飞扬的青春 在拿到开发板之后,已经体验了Android操作系统,接下来就是体验Linux下的开发,本次以QT的一个小案例来测试下. 首先是自己先搭建了一个Ubuntu18.04的虚拟机,使用真机 ...

  3. Go:分布式学习利器(1) -- 开发环境搭建 + 运行第一个go程序

    文章目录 为什么要学习 go 开发环境搭建 -- MAC 运行第一个go程序 go 函数的返回值设置 go 函数的命令行参数 为什么要学习 go 在如下几个应用场景的需求下产生了go: 超大规模分布式 ...

  4. 智能合约开发环境搭建及Hello World合约

    如果你对于以太坊智能合约开发还没有概念(本文会假设你已经知道这些概念),建议先阅读入门篇. 就先学习任何编程语言一样,入门的第一个程序都是Hello World.今天我们来一步一步从搭建以太坊智能合约 ...

  5. iPhone开发环境搭建全过程 iPhone手机开发内容,中文手册

    http://3g.edu.csdn.net/kecheng/iphone.html  iPhone手机开发内容 http://www.docin.com/p-34874880.html# iPhon ...

  6. python搭建numpy_python开发环境搭建及numpy基本属性-【老鱼学numpy】

    目的 本节我们将介绍如何搭建python的开发环境以及numpy的基本属性,这样可以检验我们的numpy是否安装正确了. python开发环境的搭建 工欲善其事必先利其器,我用得比较顺手的是Intel ...

  7. windows下pomelo开发环境搭建及JS乱码问题

    from: http://blog.csdn.net/wangqiuyun/article/details/9243263 最近一直在研究node.js这一块,为的就是使用网易的pomelo框架,学习 ...

  8. Android配置----Android开发环境搭建

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/3 ...

  9. JDK安装以及开发环境搭建

    无论是Java开发.J2EE以及Android开发搭建环境时JDK开发环境搭建及环境变量配置是必不可少的,这篇文章就来就分别介绍下JDK的下载以及不同平台的环境变量的配置. 1.安装JDK开发环境 官 ...

最新文章

  1. 想“看见”高性能计算嘛?戳这里开始
  2. R语言Wilcoxon Signed-rank统计分布函数(dsignrank, psignrank, qsignrank rsignrank )实战
  3. 杭电多校第六场-J-Ridiculous Netizens
  4. SVG脚本编程简介(转)
  5. Tableau实战系列浏览 Tableau 环境(二) -工作区域
  6. 神策数据埋点大升级,一站式埋点,360° 满足你的不同场景需求
  7. mysql数据库配置文件my.ini
  8. CVE-2010-0249 极光
  9. ES语法及-IK分词器
  10. 运河杯交通违章 运行不起来
  11. nutshell_Nutshell中的Java 8语言功能-第1部分
  12. python 之 string() 模块
  13. iOS开发隐藏tabBar的问题
  14. 示例演示公告通知标题无缝向上滚动,文字段落无缝向上滚动,简单的wangeditor富文本编辑器,简单的音乐播放demo...
  15. 博图帮助乱码解决方法
  16. 计算机文化基础作品ppt,计算机文化基础PPT课件
  17. 基于nginx-http-flv-module提供摄像头hls flv回放流服务
  18. java html转pdf的几种方式_java 有关word,excel,pdf转换成html 有几种方式
  19. 通达OA二次开发手册
  20. MindSpore论坛活动——奖品免费领,祝大家开工大吉!

热门文章

  1. 唐僧与女富豪媳妇:身价500亿的陈丽华:生活费1天10元钱
  2. 一套开源的网校系统,无论是自建网校还是接副业都很方便
  3. 考研复试英语背了这8个英语模板,还怕什么复试-文都管联院
  4. _exit和exit的区别
  5. 24种设计模式之单例模式
  6. hybris FlexibleSearch
  7. vue中element ie9的兼容问题
  8. 自己感觉写的一个比较经典的报表sql
  9. pkill -9 php,linux pkill命令
  10. 20150528 UI考试项目中,使用SHAI加密,生成请求URL