[an error occurred while processing this directive]
|
вот кусок Gel, который за DSP отвечает (весь gel 43k - почтой?)
hotmenu
releaseDSP( )
{
/* Register for DSP & ARM clocks + MPUI controls */
#define ARM_CKCTL *( unsigned int* )0xFFFECE00
#define ARM_IDLECT2 *( unsigned int* )0xFFFECE08
#define ARM_RSTCT1 *( unsigned int* )0xFFFECE10
#define MPUI_CTRL_REG *( unsigned int* )0xFFFEC900
#define MPUI_DSP_BOOT_CONFIG *( unsigned int* )0xFFFEC918
#define MPUI_DSP_MPUI_CONFIG *( unsigned int* )0xFFFEC91C
#define DSP_CKCTL *( unsigned short* )0xE1008000
#define DSP_IDLECT1 *( unsigned short* )0xE1008004
#define DSP_IDLECT2 *( unsigned short* )0xE1008008
#define DSP_RSTCT2 *( unsigned short* )0xE1008014if ( ( ARM_RSTCT1 & 2 ) != 2 )
{
/* Set priority registers to allow for reprogramming */
ARM_RSTCT1 = 0x00000004;/* Set SARAM to be shared by DSP and ARM */
MPUI_DSP_MPUI_CONFIG = 0;/* Enable clock for MPUI */
ARM_IDLECT2 |= 0x0040;/* Turn off byte swap in MPUI config register & set timeout to MAX */
MPUI_CTRL_REG = 0x0000FF2C;/* Insert an idle loop at DSP [0x10000], mapped to ARM [0xE0010000]
* The loop will continuously branch to itself */
*( unsigned short* )0xE0010000 = 0x2020;
*( unsigned short* )0xE0010002 = 0x4A7E;
*( unsigned short* )0xE0010004 = 0x2020;
*( unsigned short* )0xE0010006 = 0x2020;/* Set the DSP boot address to [0x010000], mapped to ARM [0xE0010000] */
MPUI_DSP_BOOT_CONFIG = 0x00000005;/* Set Idle Register */
DSP_IDLECT2 = 0x0027;
/*| ( 1 << 5 ) // EN_TIMCK
| ( 1 << 2 ) // EN_PERCK
| ( 1 << 1 ) // EN_XORPCK
| ( 1 << 0 ) // EN_WDTCK
;*//* Enable Peripherals on DSP */
DSP_RSTCT2 = 0x0003;/* Enable DSP clock */
ARM_CKCTL |= 0x00002000;/* Set Idle Register */
DSP_IDLECT1 = 0x0177;
/*| ( 1 << 8 ) // IDLTIM_DSP
| ( 1 << 6 ) // WKUP_MODE
| ( 1 << 5 ) // IDLDPLL_DSP
| ( 1 << 4 ) // IDLIF_DSP
| ( 1 << 2 ) // IDLPER_DSP
| ( 1 << 1 ) // IDLXORP_DSP
| ( 1 << 0 ) // IDLWDT_DSP
;*//* Set DSP clock inputs */
DSP_CKCTL = 0x0090;
/*| ( 0 << 8 ) // TIMXO is equal to input clock reference
| ( 1 << 7 ) // Reserved to 1
| ( 1 << 4 ) // Reserved to 1
| ( 0 << 0 ) // DSP peripheral clock
;*//* Enable DSP */
ARM_RSTCT1 |= 0x00000002;
}GEL_TextOut( " DSP Released\n", "GEL" );
}
ну а для того, чтобы пустить приложение под Linux
тоже нужен RS-232
и там
[login:] root
[password:] просто ввод
загрузить модуль (нафига они так ядро собрали???)
$ cd /opt/dsplink
$ ./dsplink load
и запустить приложение
$ cd /opt/dsplink/samples/message
$ ./messagegpp message.out 2000
и после на хосте CCS
E-mail: info@telesys.ru