flashing speed improved using queued jtag. error propagation improved.

This commit is contained in:
Rodrigo L. Rosa 2011-05-18 20:11:04 -07:00 committed by Øyvind Harboe
parent ee124401a2
commit ef599aebfd
3 changed files with 355 additions and 291 deletions

View File

@ -142,8 +142,8 @@ static int dsp5680xx_flash_write(struct flash_bank *bank, uint8_t *buffer, uint3
}
static int dsp5680xx_probe(struct flash_bank *bank){
//LOG_USER("%s not implemented",__FUNCTION__);
return ERROR_OK;
LOG_DEBUG("%s not implemented",__FUNCTION__);
return ERROR_OK;
}
static int dsp5680xx_flash_info(struct flash_bank *bank, char *buf, int buf_size){
@ -197,7 +197,7 @@ struct flash_driver dsp5680xx_flash = {
.protect = dsp5680xx_flash_protect,
.write = dsp5680xx_flash_write,
//.read = default_flash_read,
//.probe = dsp5680xx_probe,
.probe = dsp5680xx_probe,
.auto_probe = dsp5680xx_probe,
.erase_check = dsp5680xx_flash_erase_check,
.protect_check = dsp5680xx_flash_protect_check,

File diff suppressed because it is too large Load Diff

View File

@ -124,6 +124,8 @@
#define DSP5680XX_ONCE_OPABDR 0x13 /* OnCE Program Address Register—Decode cycle (OPABDR) */
//----------------------------------------------------------------
#define FLUSH_COUNT_WRITE 4095 // This value works, higher values (and lower...) may work as well.
#define FLUSH_COUNT_FLASH 7 // Waiting for longer queues will cause flashing errors.
//----------------------------------------------------------------
// HFM (flash module) Commands (ref:MC56F801xRM.pdf@159)
//----------------------------------------------------------------
@ -190,21 +192,16 @@
#define SIM_CMD_RESET 0x10
//----------------------------------------------------------------
struct dsp5680xx_common
{
//TODO
};
static inline struct dsp5680xx_common *target_to_dsp5680xx(struct target *target)
{
return target->arch_info;
}
struct context
{
struct dsp5680xx_common{
//TODO
uint32_t stored_pc;
int flush;
}context;
static inline struct dsp5680xx_common *target_to_dsp5680xx(struct target *target){
return target->arch_info;
}
int dsp5680xx_f_wr(struct target * target, uint8_t *buffer, uint32_t address, uint32_t count);
int dsp5680xx_f_erase_check(struct target * target,uint8_t * erased);