|
| Chapter: 1 |
Page: 11 |
| Reference Number: 39665 |
| Change |
Add the following switch names/descriptions to table 1-5 (C/C++ Compiler Common Switches. Add to C/C++ Compiler Common Switches | Switch Name | Description | | -dcplbs | Instructs the compiler to assume that Data CPLBs are active | | -icplbs | Instructs the compiler to assume that Instruction CPLBs are active | Also add (where appropriate) the following reference pages describing these switches: -dcplbs
The -dcplbs (Data CPLBs are active) switch instructs the compiler to assume that all data memory accesses will be validated by the Blackfin processor's memory protection hardware. This allows the compiler to identify situations where the cacheability protection lookaside buffers (CPLBs) will avoid problems the compiler would otherwise workaround (e.g. anomaly 05-00-0428), improving code size and performance. If both ICPLBs and DCPLBs are active, the -cplbs(link) switch should be used.
-icplbs
The -icplbs (Instruction CPLBs are active) switch instructs the compiler to assume that all instruction memory accesses will be validated by the Blackfin processor's memory protection hardware. This allows the compiler to identify situations where the cacheability protection lookaside buffers (CPLBs) will avoid problems the compiler would otherwise workaround (e.g. anomaly 05-00-0426), improving code size and performance. If both ICPLBs and DCPLBs are active, the -cplbs(link) switch should be used. On the reference page for the -cplbs switch (page 1-31), update the page with the following paragraph at the end: If only instruction CPLBs or data CPLBs are enabled the -icplbs(link) or -dcplbs(link) switches can be used respectively. |
back to top |
|
| Chapter: 1 |
Page: 76 |
| Reference Number: 40409 |
| Change |
The following text is added at the end of the "-W{error|remark|suppress|warn} number[, number...]" section.
As shown in the Output window and in Help, error codes sometimes begin with a leading zero (for example, cc0025). If you try to suppress error codes with -W{error|remark|suppress|warn} or #pragma diag() and supply the code with a leading zero, it will not work. This is because the compiler reads the number as an octal value, and will suppress a different warning or error. |
back to top |
|
| Chapter: 1 |
Page: 291 |
| Reference Number: 40198 |
| Change |
Change:
const char __argv_string[] = "-in x.gif -out y.jpeg";
To:
extern const char __argv_string[] = "-in x.gif -out y.jpeg"; |
back to top |
|
| Chapter: 1 |
Page: 310 |
| Reference Number: 40235 |
| Change |
The following text and table are added at the end of the "CPLB Installation" section.
When enabling CPLBs, _cplb_init checks that the CPLB entries are valid. If an issue is identified, control will jump to an infinite loop around a label describing the problem. These labels are described in the following table.
CPLB Issues
| Label | Error |
| cplb_address_is_misaligned_for_cplb_size | Alignment of CPLB does not correspond to CPLB size. Each CPLB must have a minimum alignment equal to the size of the CPLB. |
| too_many_locked_data_cplbs | More than 16 locked data CPLBs are present. Only 16 data CPLBs are available, so additional data CPLBs cannot become active. |
| too_many_locked_instruction_cplbs | More than 16 locked instruction CPLBs are present. Only 16 instruction CPLBS are available, so additional instruction CPLBs cannot become active. |
|
back to top |
|
| Chapter: 1 |
Page: 310 |
| Reference Number: 39863 |
| Change |
(only for VisualDSP++ 5.0 Update 6 and later) Near the bottom of the page, delete the list item: - Among the first sixteen CPLBs, so they are loaded into the active table during initialization
|
back to top |
|
| Chapter: 1 |
Page: 331 |
| Reference Number: 39788 |
| Change |
In table 1-31 (Predefined Compiler Macros), add the following: Add to Table 1-31 Predefined Compiler Macros | Macro | Function | _ADI_COMPILER | Always defined as 1 | |
back to top |
|
| Chapter: 2 |
Page: 34 |
| Reference Number: 40289 |
| Change |
Change from:
1. If you have used one of the compiler built-in functions for explicit
branch prediction (on page 1-199), the compiler will make the prediction
as directed.
2. Otherwise, if you have generated an execution profile of the function
using profile-guided optimization (PGO), the compiler will
compare the relative counts of the true/false paths for the branch,
and will mark the path with the highest execution count as the predicted
path.
Change to:
1. If you have generated an execution profile of the function
using profile-guided optimization (PGO), the compiler will
compare the relative counts of the true/false paths for the branch,
and will mark the path with the highest execution count as the predicted
path.
2. Otherwise, if you have used one of the compiler built-in functions for explicit branch prediction (on page 1-199), the compiler will make the prediction
as directed. |
back to top |
|
| Chapter: 3 |
Page: 51 |
| Reference Number: 39850 |
| Change |
Because LIBIO now implements on-demand initialization, change from: All pre-registered devices are initialized automatically before main() is invoked by the startup code. Change to: Pre-registered devices are initialized automatically when Device I/O is first used. |
back to top |
|
| Chapter: 3 |
Page: 227 |
| Reference Number: 40412 |
| Change |
Two lines of code in the example for memcmp changes from:
char string1 = "ABC";
char string2 = "BCD";
To:
char *string1 = "ABC";
char *string2 = "BCD";
|
back to top |
|
| Chapter: 4 |
Page: 127 |
| Reference Number: 39953 |
| Change |
The last paragraph of the description of the DSP run-time library function ifft says: The arguments block_exponent and scale_method have been added for future expansion. These arguments are ignored by the function. To avoid overflow, the function scales the output by 1/fft_size. This paragraph only applies to VisualDSP++ 4.5 and earlier releases. The paragraph does not apply for VisualDSP++ 5.0 and must be deleted. |
back to top |
|