Давайте подытожим - а то результирующая картина не совсем ясна (особенно для стороннего читателя :-) ).
Правильно ли я понял, что нужно проделать следующее:
1. Модифицировать в 0.9.0 lpc1xxx.cfg
1.1 Вставить проверку/определение внутренних переменных для RAM/ROM (скопировать из 0.8.0 и поместить перед проверкой WORKAREASIZE - строка 71):
Было (line 71):
Код
if { [info exists WORKAREASIZE] } {
set _WORKAREASIZE $WORKAREASIZE
} else {
error "WORKAREASIZE is not set. The $CHIPNAME part is available in several Flash and RAM size configurations. Please set WORKAREASIZE."
}
Должно стать:
Код
if { [info exists CPURAMSIZE] } {
set _CPURAMSIZE $CPURAMSIZE
} else {
error "_CPURAMSIZE not set. Please do not include lpc17xx.cfg directly, but the specific chip configuration file (lpc1751.cfg, lpc1764.cfg, etc)."
}
if { [info exists CPUROMSIZE] } {
set _CPUROMSIZE $CPUROMSIZE
} else {
error "_CPUROMSIZE not set. Please do not include lpc17xx.cfg directly, but the specific chip configuration file (lpc1751.cfg, lpc1764.cfg, etc)."
}
if { [info exists WORKAREASIZE] } {
set _WORKAREASIZE $WORKAREASIZE
} else {
error "WORKAREASIZE is not set. The $CHIPNAME part is available in several Flash and RAM size configurations. Please set WORKAREASIZE."
}
1.2 Строку
Код
flash bank $_FLASHNAME lpc2000 0x0 0 0 0 $_TARGETNAME auto $_CCLK calc_checksum
заменить на
Код
flash bank $_FLASHNAME lpc2000 0x0 $_CPUROMSIZE 0 0 $_TARGETNAME $_CHIPSERIES $_CCLK calc_checksum
(т.е., определить актуальные размеры RAM/FLASH и заменить авто-определение на конкретную модель Flash-подсистемы).
2. Создать файл lpc1788.cfg со следующим содержимым (взято с 0.8.0 и немного подправлено):
Код
# NXP LPC1788 Cortex-M3 with 512kB Flash and 64kB Local On-Chip SRAM,
set CHIPNAME lpc1788
set CPUTAPID 0x4ba00477
set CPURAMSIZE 0x10000
set CPUROMSIZE 0x80000
# After reset the chip is clocked by the ~12MHz internal RC oscillator.
# When board-specific code (reset-init handler or device firmware)
# configures another oscillator and/or PLL0, set CCLK to match; if
# you don't, then flash erase and write operations may misbehave.
# (The ROM code doing those updates cares about core clock speed...)
#
# CCLK is the core clock frequency in KHz
# Commented out for safe start (with default 4MHz). Should work with 12MHz as well.
#set CCLK 12000
#Include the main configuration file.
source [find target/lpc17xx.cfg];
и поместить его в папку target.
3. Подставить lpc1788.cfg в Config Options вместо lpc17xx.cfg:
Код
-f interface/ftdi/olimex-arm-usb-tiny-h.cfg
-f interface/ftdi/olimex-arm-jtag-swd.cfg
-f target/lpc1788.cfg
После этого 0.9.0 должен заработать штатно.