Hi,
Do you know what kind of information exactly pushed into stack automatically by MCU before branching to ISR?
It seems IAR has intrinsic function to read Stack Pointer.
Syntax unsigned short __get_SP_register ( void ) ; Description Returns the value…
Thanks for your reply. Yes, it would be very nice if there would be a workaround. But I am not sure if your code would work... I think the possibility to have a deeper look inside the CPU is needed to definately say yes or no.
Something that I could imagine…
HI George.
Thanks for getting back to me quickly.
I have attached main.pp in a zip which demonstrates the bug in just a few lines.
This is not the actual code, but in effect, it is:
signed_int_var += unsigned_value;
if (signed_int_var < 0) {
} else…
Hi George,
Thanks for the hint.
I attached the preprocessed source.
Regards,
Dirk
compiler output:
**** Build of configuration DebugHVT7720 for project FW_B2089P01 ****
"C:\\ti\\ccsv6\\utils\\bin\\gmake" -j 2 Interface/UART/UART.obj
'Building…
Dear George,
Thanks for your replay
The full version is : Version: 6.1.2.00015 I use MSP430 Compiler
The compliler options are:
-vmspx --abi=eabi --opt_for_speed=0 --use_hw_mpy=none --include_path="C:/ti/ccsv6/ccs_base/msp430/include" --include_path=…
Part Number: MSP430FR5994 Other Parts Discussed in Thread: 4428 Tool/software: TI C/C++ Compiler I took the following example in
MSP430 Optimizing C/C++ Compiler v17.3.0.STS, User's Guide, SLAU132O 2017-03 6.8.4.1 Using __never_executed With a Vector…
I created an empty project for MSP430FR5989 and put in main following code:
#include <msp430.h>
#include <stdint.h>
static volatile struct {
uint16_t txCnt;
uint16_t rxCnt;
uint16_t txCompletedCnt;
} gUart;
#if defined(__TI_COMPILER_VERSION__) |…
Dear Sir,
As per your i am sending compiler test case.
1) Preprocessed file
8836.main.pp.txt
2) Build options
"C:/ti/ccsv7/tools/compiler/ti-cgt-msp430_16.9.6.LTS/bin/cl430" -vmsp --data_model=restricted -O3 --opt_for_speed=0 --use_hw_mpy=none --advice…
OK, got an .rl file. See attached.
The line in question in this file is line 42960, __bis_SR_register(GIE). If you look, it replaces that line with the following:
__asm__ __volatile__ ("bis.w %0, SR { nop" : : "ri"((unsigned int) (0x0008)) );…