Reply by Gilles Blanquin October 21, 20052005-10-21
Hi.

The "ADR_CONVERSION" variable has been created in July 2005, for a
PROTOTYPE version of the next CodeWarrior for HC(S)12(X) product, which is
anyway NOT available for the General Market.

The ADR_CONVERSION variable does not exist neither in CW12V40 nor in CW12V41.

All information about this new CodeWarrior product is under "Non Disclosure
Agreement".

If you know someone using this PROTOTYPE of the software and needing info
about the "ADR_CONVERSION" variable, please ask this person to get some
support via the CodeWarrior 8/16-bit Support Team.

Thanks for your understanding.

Regards,
Gilles
At 01:30 AM 10/21/2005, you wrote:
>--- In 68HC12@68HC..., Gilles Blanquin <gilles.blanquin@f...>
>wrote:
> >
> >
> > Hi.
> >
> > To my knowledge, for some size reason, the web installer does not
>provide
> > the documentation, but the doc is available when you install from a
>CD-ROM.
> >
> > Also, the doc is downloadable from this web page:
> >
> >
>http://www.codewarrior.com/MW/Support/dev_resources/Documentation_for_HC12_3
>
> > .1.htm
> >
> > point 1 and 3): Currently, on the web page here above, you will find
>the
> > "HC12 ICD-12 Target Interface" .PDF for the ICD-12 target and "HC12
> > True-Time Simulator and Real-Time Debugger" .PDF for the debugger core
> > (incl. Data window). Environment Variables and Commands are also
>described
> > there. ICD-12 Flash Programmer is described in "Flash Programming" .PDF.
> >
> > point 2): Please read here below the "Welcome_CWHC12.txt file" section,
> > which lists changes from CW12V40 to CW12V41. You should be able to find
> > release notes with any kind of installer, in the CodeWarrior
>installation
> > subfolder called "Release_Notes" then "HC12", for example. We make sure
> > that if the .PDF is not up-to-date, new and fixed feature do appear
>in the
> > Release Note. I also pasted an extract of the
>"Notes_debugger_icd12.txt"
> > here below.
> > N.B: L15Y (new mask) and L40V (old mask) have some important
>differences
> > (incl. on the XGATE core side, XGATE memory + program code memory).
>Check
> > carefully silicon specs.
> >
> > point 4): If you call it "hiwave.exe", there is no ambiguity.
>Calling it
> > "the Debugger" is enough to differentiate it from the "CodeWarrior IDE".
> >
> > Regards,
> > Gilles
>
>Thanks for the reply. I actually have all of the documentation you
>listed since I installed from CD. The documentation doesn't seem to be
>fully update for the S12X release. For example, I was told by someone
>to set the environment variable ADR_CONVERSION to "ON" in the Hiwave
>configuration but no one knows what this environment variable does.
>This environment variable doesn't show up in the ICD-12 documentation
>you mentioned so I know that these docs aren't updated.Any idea what
>that environment variable does?
>
>Thanks. >
>
>Yahoo! Groups Links >
>




Reply by joshcurtz October 20, 20052005-10-20
--- In 68HC12@68HC..., Gilles Blanquin <gilles.blanquin@f...>
wrote:
>
>
> Hi.
>
> To my knowledge, for some size reason, the web installer does not
provide
> the documentation, but the doc is available when you install from a
CD-ROM.
>
> Also, the doc is downloadable from this web page:
http://www.codewarrior.com/MW/Support/dev_resources/Documentation_for_HC12_3

> .1.htm
>
> point 1 and 3): Currently, on the web page here above, you will find
the
> "HC12 ICD-12 Target Interface" .PDF for the ICD-12 target and "HC12
> True-Time Simulator and Real-Time Debugger" .PDF for the debugger core
> (incl. Data window). Environment Variables and Commands are also
described
> there. ICD-12 Flash Programmer is described in "Flash Programming" .PDF.
>
> point 2): Please read here below the "Welcome_CWHC12.txt file" section,
> which lists changes from CW12V40 to CW12V41. You should be able to find
> release notes with any kind of installer, in the CodeWarrior
installation
> subfolder called "Release_Notes" then "HC12", for example. We make sure
> that if the .PDF is not up-to-date, new and fixed feature do appear
in the
> Release Note. I also pasted an extract of the
"Notes_debugger_icd12.txt"
> here below.
> N.B: L15Y (new mask) and L40V (old mask) have some important
differences
> (incl. on the XGATE core side, XGATE memory + program code memory).
Check
> carefully silicon specs.
>
> point 4): If you call it "hiwave.exe", there is no ambiguity.
Calling it
> "the Debugger" is enough to differentiate it from the "CodeWarrior IDE".
>
> Regards,
> Gilles

Thanks for the reply. I actually have all of the documentation you
listed since I installed from CD. The documentation doesn't seem to be
fully update for the S12X release. For example, I was told by someone
to set the environment variable ADR_CONVERSION to "ON" in the Hiwave
configuration but no one knows what this environment variable does.
This environment variable doesn't show up in the ICD-12 documentation
you mentioned so I know that these docs aren't updated.Any idea what
that environment variable does?

Thanks.



Reply by Gilles Blanquin October 20, 20052005-10-20

Hi.

To my knowledge, for some size reason, the web installer does not provide
the documentation, but the doc is available when you install from a CD-ROM.

Also, the doc is downloadable from this web page:

http://www.codewarrior.com/MW/Support/dev_resources/Documentation_for_HC12_3
.1.htm

I admit that "Release 3.1" is not the "4.1" you are using, but CodeWarrior
"4.x" releases are "3.1" upgrades ro support the S12X's, so the doc was not
renewed.

For sure we are aware of this help and documentation issue and the
CodeWarrior team is already working on improvements.

point 1 and 3): Currently, on the web page here above, you will find the
"HC12 ICD-12 Target Interface" .PDF for the ICD-12 target and "HC12
True-Time Simulator and Real-Time Debugger" .PDF for the debugger core
(incl. Data window). Environment Variables and Commands are also described
there. ICD-12 Flash Programmer is described in "Flash Programming" .PDF.

point 2): Please read here below the "Welcome_CWHC12.txt file" section,
which lists changes from CW12V40 to CW12V41. You should be able to find
release notes with any kind of installer, in the CodeWarrior installation
subfolder called "Release_Notes" then "HC12", for example. We make sure
that if the .PDF is not up-to-date, new and fixed feature do appear in the
Release Note. I also pasted an extract of the "Notes_debugger_icd12.txt"
here below.
N.B: L15Y (new mask) and L40V (old mask) have some important differences
(incl. on the XGATE core side, XGATE memory + program code memory). Check
carefully silicon specs.

point 4): If you call it "hiwave.exe", there is no ambiguity. Calling it
"the Debugger" is enough to differentiate it from the "CodeWarrior IDE".

Regards,
Gilles ======================================
Welcome_CWHC12.txt file extract: begin
======================================

Welcome to CodeWarrior Development Studio for HCS12X with XGATE V4.1! It contains:
- CodeWarrior for HCS12X with XGATE (MC9S12XDP512 mask L15Y support)

HCS12X V4.1 is targeted for the HCS12X core.
Therefore it does not contain all the support for the HCS12 and HC12.
More specifically, it does not contain the Processor Expert software for
the HCS12 cores.
The wizard does only support HCS12X cores and does not offer all the HC12
and HCS12's as the wizard of
the CodeWarrior for HC12 V3.1 does. What's new since HCS12X V4.0:
------------------------------
- Updated compiler, linker, assembler and simulator/debugger to support
new silicon revision MC9S12XDP512 mask L15Y
- new XGATE compiler supporting:
.new XGATE "TFR RX,PC" instruction.
.support to allocate XGATE code in flash
.new Alias Analysis option -oa("addr"|"ansi"|"type"|"none"). Use this
option to avoid reloading data that might
be aliased by another memory access. This option is critical for
performance of RISC architectures.
.new IEEE32 floating point machine library
.global initializations with constant address differences between the
same object are now possible.
.the 16x16 runtime multiplication routine _IMUL has been optimized.
.using the option -Oc does now cause the message "C54: Option -Oc:
depreciated". This option is also no longer displayed in the
graphical user interface.
.HLI supports now the new XGATE instruction "TFR RX,PC".
.new option -LpCfg=m to suppress information about file names in
preprocessing output file (option -Lp)
.new option -LpCfg=e to allow empty lines in preprocessing output
file (option -Lp)
.new compiler optimizations
.and more ...
- complete new installer image
- Updated documentation
- Updated examples
- New IDE 5.7
- Various bug fixes
- Support to RUN XGATE Code out of Flash.
- New context menu option in assembly and source components: "freeze".
By enabling the freeze option in the context menu,
the position in the assembly and source window will not follow the PC.

Note: HCS12X V4.1 is targeting the official HCS12X silicon. The first mask
set supported is the MC9S12XDP512 mask L15Y.
The initial MC9S12XDP512 mask 0L40V is incompatible in some cases,
for example in the XGATE initialization code.
Therefore it is recommended to use HCS12X V4.0 to target the
MC9S12XDP512 mask 0L40V.

====================================
Welcome_CWHC12.txt file extract: end
==================================== ============================================
Notes_debugger_icd12.txt file extract: begin
============================================

==========================================================
RELEASE NOTES FOR ICD12 Target Interface
==========================================================

==========================================================
ICD12 Target Interface icd12.tgt V6.1.12
==========================================================

List of New Features
--------------------

-None.

Improvements
------------

-The Debugging Memory Map is updated at stops and steps according to
current INIT registers' value.

-FLASH NVMIF2RELOCATE command got fixed, also caring of the "data to flash"
buffer move.

-Registers block registers access below address 0x10 fixed.

-Other Flash Programmer internal improvements. ==========================================================
ICD12 Target Interface icd12.tgt V6.1.11
==========================================================

List of New Features
--------------------

1-Connection and communication improvement
------

The following options have been added in "Communication..." dialog,
"Special Setup" tab:

-"At connection, the target is running (hot plugging)":
When set, this option overrides the "At connection, detect if the target
is running." option.
This option must be set of the target processor is running in standalone.
The debugger will then make a "quiet" connection without read/write
access to processor
and process information will be retrieved only when the debugger is stopped.

-"When running, insert controlpoints to hardware onchip break module
without halting the cpu.":
This option is available with some HCS12 devices. When available, the
debugger
will overwrite the current onchip break module with the breakpoint just
inserted by the
user in the Source or Assembly window, while the processor is running.
The processor/cpu is not halted and the breakpoint added "live".

-"When running, discard all memory read accesses.":
This legacy option can be used to guaranty no access to device memory
while running.
The same assertion can be performed within the Debugging Memory Map
interface.

-"Resynchronize from COP/watchdog reset.":
This option enables the debugger resynchronization from processor COP
watchdog reset.
As it slows down debugging while checking the processor state, this
resynchronization
is optional, as COP/watchdog reset is not a typical program flow behavior.

The following function code be associated to the "COP failure reset"
vector ($FFFA-$FFFB)
to halted the target processor on COP reset:

#pragma CODE_SEG __NEAR_SEG NON_BANKED
interrupt void COP_ISR(void) {
asm {
//initialize the onchip break module to break here below
//in the "BRA *" never ending loop.
MOVB #0x00,0x29
MOVB #0x3F,0x2A
LDD #COP_ISR
ADDD #23 // offset to BRA here below
STD 0x2B
MOVB #0xB0,0x28 //enable breakpoint
BRA * //debugger breaks here
}
}

2-Flash programming improvement
-------------------------------

-The Flash programmer will halt application loading and programming has
soon as
it cannot run flash status sequence, and will display an error report
message.

-Flash programming algorithms have been updated for performance improvement
and relocation support when moving the onchip ram to a different place than
default/reset position (please see NVMIF2RELOCATE parameter here below).

The following new commands have been created:
-"FLASH NVMFREQUENCY" command.
Syntax: NVMFREQUENCY <frequency in Hz>
Purpose: Specify the Non Volatile Memory programming frequency, typically
the device
bus speed after reset. When used, the Flash Programmer does not
try to evaluate
this speed and the debugger will gain 2-3 seconds at application
loading time.

-"FLASH SKIPSTATUSON" command.
Syntax: FLASH SKIPSTATUSON
Purpose: Skip Flash Programmer device Non Volatile Memory blocks diagnostic.
This can be used to speed up project application loading and
programming
from the IDE "debug" run: The Flash Programmer will NOT check if
blocks
are programmed or erased.

-"FLASH SKIPSTATUSOFF" command.
Syntax: FLASH SKIPSTATUSOFF
Purpose: Revert SKIPSTATUSON to default (diagnostic performed again).

-"FLASH NVMIF2RELOCATE" command.
Syntax: NVMIF2RELOCATE <address>
Purpose: Inform the flash programmer that flash driver must be loaded in ram
to a different place than default (default is start of onchip ram).
This will provide more flexibility for EB386 "Example 1 Layout"
device ram memory relocation.

-"FLASH PROTOCOLON" command.
Syntax: FLASH PROTOCOLON
Purpose: Enable Flash Programmer protocol display in Command line window.
This command is for debugger Support only.

-"FLASH PROTOCOLOFF" command.
Syntax: FLASH PROTOCOLOFF
Purpose: Disable Flash Programmer protocol display in Command line window.
This command is for debugger Support only.

Reminder:
-When used, the "FLASH AEFSKIPERASING" command should be placed in the
"Preload"
command file.

3-Debugging Memory Map dialog and Manager
-----
The Debugging Memory Map dialog user interface replaces the "banked Memory
Location" dialog
("Set Bank..." menu entry). This interface provides a global approach for
all different
CPU families, each family having its own method for memory access and its
own memory
onchip layout and memory module priorities.
By the way, the "BANKWINDOW" command has been completely removed, as banks
handling is
now transparently handled by the Debugging Memory Map Manager. In case of
error due to this
command execution, please remove/comment this command. In case of any
further debugging problem
due to this command removal, please contact Metrowerks support team.

The graphical user interface is flexible enough to be handled without much
text description
here, and live diagnostic is displayed within the dialog. Anytime, it is
possible to revert
to default (factory) setup, and most of the time, the user does not need to
edit/change settings
within this dialog.

Functionalities:

-Pressing "New" button will create a new module, and open directly the
edition dialog to
setup this new module.
-Pressing "Modify" opens the edition dialog of the selected module in list.
More module information are displayed here, and an enhanced diagnostic is
also displayed.
-Pressing "Delete" button will lead to module removing, after a warning dialog.
-Pressing "Revert to default" will remove the current setup (usually saved
into current project)
and retrieve the default (factory) setup for an internal database.

Module edition:

-"Enable memory module" options maps the module in the debugger. Unchecking
this option
makes the module completely "transparent" for the debugger.
-The "Type" drop down list provides all kinds of memory type available for
this processor.
-The "Priority" drop down list provides all kinds of memory overlap
priority available
for this processor. The debugger can have a bigger priority ("highest")
to setup an upper
module that can overlap an onchip module, this to make a display filter,
e.g. creating
an "no read access while running" memory range.
-The "Refresh memory when halting" option controls debugger memory cache.
When this option
is checked, internal image/cache of memory data are always deleted and
the data is always
retrieved from hardware when required by the debugger. When unchecked
(usually by default
for Non Volatile Memory areas) the debugger keeps a copy of the data and
does not retrieve
the data from hardware until next application loading/programming.
-The "no memory access while running" option can be used to discard
debugger access to a
memory range which can regularly be accessed while running. This feature
is useful to protect
onchip register flags from being triggered by debugger reads.

Remark:

-Modules range/boundary are always limited to an overlapped module with a
bigger priority.
For example, if 2 bytes have been defined in a module which overlaps
another module, accessing
these 2 bytes will be performed using the 2-byte module properties.
The memory on both sides of these 2 bytes will be accessed using the
overlapped module properties.

4-P&E USB Multilink and Cyclone Pro firmwares automatic upgrade
---------------------------
-This new release includes support for the USB 2.0 Multilink cable
(USB-ML-12 rev. B).
-Latest P&E firmware will be downloaded to cables automatically.
==========================================================
ICD12 Target Interface icd12.tgt V6.1.10
==========================================================

List of New Features
--------------------

- HCS12X devices support with:
. MC9S12XDP512 device support including flash programming,
. XGATE breakpoints,
. 4 hardware breakpoints (ROM/Flash),
. Global, Logical and XGATE view Memory display selectable from Memory
window popup menus, Address Space entry,
. HCS12x and XGATE cores switching from ICD-12 menus and several windows
popup menus, Select Core menu entry.

- New commands:

. STEPBOTHCORES: Single step XGATE and HCS12X cores at the same time.
Disabled by default.
Important: This is a simulation and does not match with standalone
behavior.
The command syntax is:
STEPBOTHCORES <ON|OFF>

. XGATECODERANGE: Defines the XGATE code memory area in RAM. This command
is required
to properly insert breakpoints in XGATE code.
Up to 64 ranges can be inserted.
The command syntax is:
XGATECODERANGE <first address> <last address>

NB: Address values can be extended with quotes to specify address
spaces with 'L for logical,
'X for XGATE and 'G for global.
Example:

XGATECODERANGE 0x800'X 0xFFFF'X . XGATECODERANGESRESET: Removes all XGATE code memory ranges inserted with
the XGATECODERANGE command.
The command syntax is:
XGATECODERANGESRESET

Limitations:

- XGATE breakpoints cannot be handled before XGATE code is settled in RAM.
A warning message is displayed in Command windows about this issue.

- The DBG module is only exploited for hardware breakpoints. All over
features are not implemented.

- in NVMC dialog, FLASH_4000 and FLASH_C000 blocks cannot be erased. No
error is reported. ==========================================================
ICD12 Target Interface icd12.tgt V6.1.9
==========================================================

List of New Features
--------------------

- This release supports the P&E Microcomputer Systems CYCLONE PRO,
"Automated Programmer And
Debug Interface".

- It is now possible to disable maskable interrupts while stepping, when
checking the
"Disable maskable ISR's when stepping" checkbox in
"Communication"|"Special Setup" dialog.

- The new command AEFSKIPERASING has been created to specify non volatile
memory blocks
to protect from mass erasing at application loading.
The command should be placed in a "Startup" command file.
The command syntax is:
FLASH AEFSKIPERASING <blockNo>
with blockNo = {number["-"number][","]}

For example, "FLASH AEFSKIPERASING 0,2-4" avoids erasing flash blocks
0,2,3,4.

Reminder: Flash (and non volatile memory) modules and numbers can be
displayed when
typing the FLASH command in the Command window. Also the Flash/Non
Volatile Memory
dialog list displays all modules starting from block number 0.

Improvements
------------

- DBG12 code program flow rebuild:
. CALL instruction execution with destination outside bank/page window
range ($8000-$BFFF) is
now also supported.
. Code execution rebuild from $FFFx to $000x is now also supported.

- Flash programming/Download to non volatile memory:
. The flash programming download speed has been improved.
. It is now possible to download an application in "RAM and Flash", without
interferences
between the programming runtime/algorithm and the code to be placed in RAM.
If this improvement is transparent for users via Load dialog and
Flash/Non Volatile Memory dialog,
new commands "FLASH OVLBACKUP" and "FLASH OVLRESTORE" have been created
to backup then restore
application code overlap with programming runtime/algorithm, when
programming is performed through
debugger commands batch files. "FLASH OVLBACKUP" should be executed
before the application/file
loading and "FLASH OVLRESTORE" should be executed after last (FLASH)
command.

- Non Volatile Memory automatic mass erasing and flashing (NVMAEF):
. Programmation "Arming" + "Disarming" explicit progress bars are now
displayed.
. AEFSKIPERASING added to specify and protect blocks from NVMAEF mass erase.

- It is now possible to debug with several projects and debuggers with
several USB Multilink cables,
as cables' serial number is saved in the project when closing
affirmatively the "Communication" dialog .
Therefore, a project can securely address always the same USB Multilink
cable connected to single
hardware.

Onchip DBG module limitation
----------------------------
. Real time code profiling and coverage is limited to non banked memory
applications/code.

Demo version limitations
------------------------
- The DBG support is limited:
. Code reconstruction is limited to the 20 latest instructions when in
demo mode,
. No Profiling nor coverage when in demo mode,
. No Predefined triggers allowed when in demo mode.

List of fixed Bugs
------------------------------
- None.

List of known Bugs
------------------------------
- None.

============================================
Notes_debugger_icd12.txt file extract: end
============================================ At 06:19 AM 10/20/2005, you wrote:
>Gilles/anyone who can answer,
>
>I've been using CodeWarrior for the HCS12X v 4.1 for about 6 months or
>so and I've occasionally had questions that it seems the documentation
>couldn't address. Maybe it's just that I don't know where to look for
>the documentation but the Metrowerks website seems to be lacking
>documentation for the HCS12X products. Anyways, since I've seen a
>number of questions here on similar topics I figured I'd ask some too.
>FYI, I'm using a compiler suite from another vendor and a P&E
>USB-ML-12 rev B BDM interface. The only Metrowerks application I use
>from the IDE is the True-time debugger.
>
>The questions:
>
>1) Where can I get documentation on the ICD-12 target? I'm looking for
>things like environment variables, commands, etc. I'm a bit confused
>as to what is P&E software and waht is Metrowerks but I think the
>ICD-12 target related stuff is P&E-owned so maybe you can't answer
>this question.
>
>2) How does upgrading from CW v 4.0 to 4.1 affect the Hi-wave
>debugger? I was told I need to use v 4.1 if I am using the newest mask
>micro and 4.0 otherwise. I am going to have to work with both the old
>micro and the newer mask set micro so what should I do? Will 4.1 work
>just fine with the older mask too(I think I've heard no)?
>
>3) Where do I find documentation about Hi-wave related things like how
>expressions are added to the "Data" window? I can't seem to figure out
>the pattern because often if I add a few few expressions to the data
>window then after a few resets/reflashes the data windows magically
>contains multiple copies of the expressions I originally entered in
>the data window. This is pretty annoying.
>
>4) What's the best way to refer to the debugger that comes with the CW
>IDE? Should it be called Hi-wave, True-Time, or something else?
>
>Thanks in advance! >
>
>Yahoo! Groups Links




Reply by joshcurtz October 20, 20052005-10-20
Gilles/anyone who can answer,

I've been using CodeWarrior for the HCS12X v 4.1 for about 6 months or
so and I've occasionally had questions that it seems the documentation
couldn't address. Maybe it's just that I don't know where to look for
the documentation but the Metrowerks website seems to be lacking
documentation for the HCS12X products. Anyways, since I've seen a
number of questions here on similar topics I figured I'd ask some too.
FYI, I'm using a compiler suite from another vendor and a P&E
USB-ML-12 rev B BDM interface. The only Metrowerks application I use
from the IDE is the True-time debugger.

The questions:

1) Where can I get documentation on the ICD-12 target? I'm looking for
things like environment variables, commands, etc. I'm a bit confused
as to what is P&E software and waht is Metrowerks but I think the
ICD-12 target related stuff is P&E-owned so maybe you can't answer
this question.

2) How does upgrading from CW v 4.0 to 4.1 affect the Hi-wave
debugger? I was told I need to use v 4.1 if I am using the newest mask
micro and 4.0 otherwise. I am going to have to work with both the old
micro and the newer mask set micro so what should I do? Will 4.1 work
just fine with the older mask too(I think I've heard no)?

3) Where do I find documentation about Hi-wave related things like how
expressions are added to the "Data" window? I can't seem to figure out
the pattern because often if I add a few few expressions to the data
window then after a few resets/reflashes the data windows magically
contains multiple copies of the expressions I originally entered in
the data window. This is pretty annoying.

4) What's the best way to refer to the debugger that comes with the CW
IDE? Should it be called Hi-wave, True-Time, or something else?

Thanks in advance!