FreeCalypso > hg > freecalypso-sw
view gsm-fw/L1/cust0/mv100/L1tm_cust_add.h @ 923:10b4bed10192
gsm-fw/L1: fix for the DSP patch corruption bug
The L1 code we got from the LoCosto fw contains a feature for DSP CPU load
measurement. This feature is a LoCosto-ism, i.e., not applicable to earlier
DBB chips (Calypso) with their respective earlier DSP ROMs. Most of the
code dealing with that feature is conditionalized as #if (DSP >= 38),
but one spot was missed, and the MCU code was writing into an API word
dealing with this feature. In TCS211 this DSP API word happens to be
used by the DSP code patch, hence that write was corrupting the patched
DSP code.
author | Mychaela Falconia <falcon@ivan.Harhan.ORG> |
---|---|
date | Mon, 19 Oct 2015 17:13:56 +0000 |
parents | eafadfee35b2 |
children |
line wrap: on
line source
#ifndef _DEF_BMI_L1TMCUSTADD_H_ #define _DEF_BMI_L1TMCUSTADD_H_ /************* Revision Controle System Header ************* * GSM Layer 1 software * L1TM_CUST_ADD.h * * Filename %M% * Version %I% * Date %G% * * $History: Mmidict.c 01/08/02 huangxl creat. * $end ************* Revision Controle System Header *************/ #define EQ == #define NEQ != #define AND && #define OR || #define XOR(A,B) ((!(A) AND (B)) OR ((A) AND !(B))) #define GPIO_OUT 0xFFFE4802 #define ALLOC_MEMORY mfwAlloc #define FREE_MEMORY mfwFree #ifndef FALSE #define FALSE 0 #endif #ifndef TRUE #define TRUE 1 #endif #ifndef NULL #define NULL 0 #endif enum CUSTOM_INDEX { OFF = 0, ON = 1 }; enum CMD { READ_SIM_PHB_CMD = 17, WRITE_SIM_PHB_CMD = 18, READ_SIM_SMS_CMD = 19, READ_NEW_SMS_CMD = 21, SEND_SMS_CMD =22 , SAVE_SEND_SMS =23, WRITE_NVM_PHB_CMD = 24 }; enum PC_CMD_RET { CMD_RET_OK =0, CMD_COMPLETE_OK =1, SIM_NOT_REDAY =-1, NO_SIM_PHB =-2, FWRITE_FAIL =-3, CMD_BUSY =-4, FREAD_FAIL =-5, WRITE_SIM_PHB_FAIL =-6, READ_SIM_PHB_FAIL =-7, ALLOC_MEM_FAIL =-8, NO_SIM_SMS =-9 }; #define MAXNAMELEN 21 #define MAXNUMLEN 21 #define MAXOFFNUMLEN 21 #define MAXHOMNUMLEN 21 #define MAXEMAILLEN 25 #define MAXGROUPLEN 10 #define MAXPRILEN 8 #define MAXSIMPHBNUM 20 typedef struct TSPhbData { char Name[21]; char Number[21]; }SPhbData; typedef struct TPhbData { SPhbData phbdata[20]; }PhbData; typedef struct TPCCMDSTATUS { unsigned char isPcCmdRun;//when pc cmd is complete,it is 1;when running is 0,default is 1 unsigned char SimPhbNum;//how many phb num in sim unsigned char NvmPhbNum;//how many phb num in nvm unsigned char nSimSmsFile;//how many sms file created unsigned char isdelsmsok;// unsigned char nNewsms;//how many new sms unsigned char iscmdreterr;// unsigned char nsimphbmax;//how many sms file created unsigned char nsimsmsmax;//how many sms file created unsigned char isPcConect;//conect:1 no dataline in:0 }PCCMDSTATUS; typedef struct TSMS_MEM_INFO { unsigned char mem; unsigned char used; unsigned char total; unsigned char dummy; } SMS_MEM_INFO; #define MAX_LEN 21 typedef struct { char date[18]; char Number[41]; char info[502]; char sc_addr[MAX_LEN]; /* service centre address */ char type; char ton; char npi; char index; }TPhoneSmsItem; extern int write_imei(unsigned char *imei); extern int write_SerialNumber(unsigned char *value); extern int read_SerialNumber(char *table); extern unsigned short checksim(); extern unsigned short checknetavail(); extern unsigned char ctrlcd(unsigned short value); extern unsigned char ctrled(unsigned short value); extern unsigned char ctrbacklight(unsigned short value); extern unsigned char ctrvibrator(unsigned short value); extern unsigned char ctrbuzzer(unsigned short value); extern int key_simulation(unsigned char size,unsigned char *keycode); extern int read_rtc(char *table); extern unsigned short get_sim_status(void); extern unsigned short get_net_status(void); extern void kbd_test (unsigned char key); extern void StartVibrator(void); extern void StopVibrator(void); extern void StartTone(void); extern void StopTone(void); extern void LED_ON(void); extern void LED_OFF(void); extern void Backlight_ON(void); extern void Backlight_OFF(void); extern signed char flash_write(); extern int read_sim_phb(void); extern int write_sim_phb(void); extern unsigned char IsPcCmdExcuteEnd(char *value); extern int write_sim_phb_cb(void); extern void tell_simphb_num(unsigned short value); extern int read_sim_sms(void); extern void Get_sms_info(const char *info,void *adr, void * t,void *scaddr,int errStatus); extern int del_sim_sms(unsigned short value); extern int read_new_sms(void); extern int change_sim_sms(unsigned short value); extern int send_sms(void); extern int send_sms_cb(void); extern void tell_nvmphb_num(unsigned short value); extern PCCMDSTATUS PcCmdStatus; extern unsigned char command; #endif