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.

相关文章推荐

Looking for an example for inserting content into the response using a servlet filter

I’ve been searching the net and stackoverflow for an example of somebody inserting content into the ...
  • gmemai
  • gmemai
  • 2015年09月01日 05:42
  • 667

Android: An introduction to the Edify (Updater-Script) language

An introduction to the Edify (Updater-Script) language         ...

centos7中使用Ecplise连接hadoop出现An internal error occurred during: "Map/Reduce location status updater".

今天在centos7上用eclipse连接hadoop时出现An internal error occurred during: "Map/Reduce location status updater...

How_to_build_an_ARM/DSP_Hello_World_program_on_the_DaVinci_EVM 续

解决dsplinkdata.lib缺失问题 前面写过一篇how to build an arm/dsp hello world program on the davinci evm, 那前面其...

SQLLite-Precompiled Binaries for Windows CE

  • 2014年01月17日 11:47
  • 3.36MB
  • 下载

Naming Convention for an SEM-BPS project

Naming Convention for an SEM-BPS project Business Planning & Simulation (BPS) Strategi...
  • sap_bw
  • sap_bw
  • 2011年08月11日 13:14
  • 534

CodeForces 814E An unavoidable detour for home题解

An unavoidable detour for home题意有n座城市,城市间可能有无向边连接。有以下特点: 1. 两座城市间最多一条边,不会有边连接自己。 2. 定义第一座城市为首都,每座城...

Pods was rejected as an implicit dependency for 'libPods.a' because its architectures 'x86_64' didn

引入cocoaPods后,第一次编译报这个错误 Pods was rejected as an implicit dependency for 'libPods.a' because its arc...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Inserting an updater for DSP binaries
举报原因:
原因补充:

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