Inserting an updater for DSP binaries

原创 2012年03月22日 18:33:28

    Here I want describe inserting a program to do auto update for applications running on DSP.


1. condition:

    The platform is a bare DSP board which have no OS running on it, and programming language is C in CCS, which would compile C and assemble into binaries for the target. The binaries resides in Nor Flash, and they will be executed inplace(XIP). By default, the binaries could be downloaded to flash by JTAG in CCS or external programmer, what I need to do, is update the flash program by serial port. The user would only take the binaries need to be updated and plug in the serial port to change the binaries, which will allow non-developer to do software update when the product is installed at field.


2.how to:

    This is quite like what uboot does. It need some basic functions to communicate with host device such, to write the binaries to specified flash sector, and to jump to specified address starting the kernel or the main application binaries, and these functions should be stored in a protected zone always being executed first when system boot up.

    graph 1. software components

    As graph 1 shows, there are several sections of NOR FLASH which have a size of 512KB. If the hardware was configured to boot from flash, it will jump to an address on FLASH A, where I burned my program--"updater". In updater it will listen on the serial port for several seconds to see if host request an update operation. If yes, then it will ask host to transfer binaries and related target address, then write it to the place. I used time slot based protocol to simplify the communication, and each binaries it received would have a strict check about the correctness. Also I wrote the program running on the host provide UI, load binary files, answer the request. The binary files comes from the output of CCS, which contain code with address, but CCS is not need on the host.

    After the "updater" procedure is done, it will execute a "long jump" to the application address, which holds the real application codes. The Flash A served only in booting stage, like a shadow which the really application can't see.

移植MPlayer到linux 2.6的方法

使用的linux内核为2.6.14.1 MPlayer版本为MPlayer-1.0pre7try2.bz2目前虽然已经添加了mad的mp3库,但播放声音文件回导致mplayer错误,放视频还得禁掉声音...
  • willand1981
  • willand1981
  • 2010年08月02日 17:04
  • 957

IOConsole Updater 报错解决办法

一个晚上,打开Eclipce,然后ddms的控制台一直重复的刷屏,刷出的报错信息为: [2012-02-25 23:59:17 - ddms] Exception during activity f...
  • samLiao_2012
  • samLiao_2012
  • 2012年02月26日 00:26
  • 9589

SQLITE Error inserting 或者 android.database.sqlite.SQLiteConstraintException: error code 19

addcontent.java里如下代码缺少table其他的项目赋值: 修正前: public void addDB(){ ContentValues cv = new Con...
  • fox3012
  • fox3012
  • 2016年03月12日 12:51
  • 324

【Node.js学习笔记】1.Linux安装node.js的binaries包

node.js安装包下载地址:http://nodejs.org/download/ 我在按
  • JustForFly
  • JustForFly
  • 2014年09月15日 16:01
  • 3380

解决vmware10在linux内核升级后不能启动的问题VMWare Kernel Module Updater

最近将ubuntu升级到了14.04,出现了vmware无法启动的情况。具体表现为:每次启动的时候都会弹出一个VMWare Kernel Module Updater的对话框,要求根据当前内核版本重新...
  • sardtass
  • sardtass
  • 2014年09月12日 11:54
  • 932

ubuntu 12.04出现insmod: error inserting 'hello.ko': -1 Device or resource busy的解决办法

一:insmod时候错误: 1:错误信息insmod: error inserting 'hello.ko': -1 Device or resource busy 2:原因:你的代码里面的设备号...
  • u011923747
  • u011923747
  • 2014年01月22日 11:42
  • 1014

下载Jmeter经常有Binaries和Source两类包的区别

下载Jmeter包,在下载页面会有2种下载分类,一个是Binaries,一个是source,如下图: 一般开放原代码软件都会有两个版本发布: Source Distribution ...
  • ShiMengRan107
  • ShiMengRan107
  • 2017年08月07日 14:42
  • 3428

Eclipse 的IOConsole Updater error

最近总是出现IOConsole Updater error,搞得都没法工作了,mgbz的。上网搜了一下,更改设置可以了。pereferences-->去掉Console中的fixed with con...
  • ppby2002
  • ppby2002
  • 2011年03月01日 10:53
  • 3650

insmod: error inserting : -1 Invalid module format

Linux(Ubuntu)添加module提示错误  insmod: error inserting : -1 Invalid module format 原因:所用内核版本号和正...
  • robinson111
  • robinson111
  • 2014年12月04日 10:58
  • 1425

Myeclipse 中遇到 IOconsole updater

问题:出现“An internal error has occurred.      1707”。 问题背景:写了一个死循环,编译出现了这个错误。 解决:1、window - Preference...
  • wodexiongmao123
  • wodexiongmao123
  • 2017年10月07日 22:24
  • 121
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Inserting an updater for DSP binaries
举报原因:
原因补充:

(最多只允许输入30个字)