-
Content Count
223 -
Joined
-
Last visited
-
Days Won
1
Posts posted by timotet
-
-
ok changed from 50 to 150 and from 50 to 0x96.
error reads:
run placement fails for object ".stack", size 0x96 (page 0). Available ranges: RAM size: 0x80 unused: 0x12 max hole: 0x12 music line 0 1303938456021 813
now map file reads:
.stack 0 00000000 00000096 FAILED TO ALLOCATE
thanks
-
as per the instructions in the post you sent me to ,I looked up the stack size for my project and it said 50.
So I then changed it to 80, didnt work, so I tried 100 and that didnt work either.
The map file I posted is for my project with the stack set back to 50.
decimal 50 == 0x32
decimal 80 == 0x50
decimal 100 == 0x64
Is this what you were looking for?
does mspgcc allocate more stack than ccs?
thanks
-
here it is :
****************************************************************************** MSP430 Evaluation Linker PC v3.3.3 ****************************************************************************** >> Linked Wed Apr 27 12:40:40 2011 OUTPUT FILE NAME: ENTRY POINT SYMBOL: "_c_int00" address: 0000fc80 MEMORY CONFIGURATION name origin length used unused attr fill ---------------------- -------- --------- -------- -------- ---- -------- SFR 00000000 00000010 00000000 00000010 RWIX PERIPHERALS_8BIT 00000010 000000f0 00000000 000000f0 RWIX PERIPHERALS_16BIT 00000100 00000100 00000000 00000100 RWIX RAM 00000200 00000080 0000006e 00000012 RWIX INFOD 00001000 00000040 00000000 00000040 RWIX INFOC 00001040 00000040 00000000 00000040 RWIX INFOB 00001080 00000040 00000000 00000040 RWIX INFOA 000010c0 00000040 00000000 00000040 RWIX FLASH 0000f800 000007e0 00000676 0000016a RWIX INT00 0000ffe0 00000002 00000000 00000002 RWIX INT01 0000ffe2 00000002 00000000 00000002 RWIX INT02 0000ffe4 00000002 00000000 00000002 RWIX INT03 0000ffe6 00000002 00000000 00000002 RWIX INT04 0000ffe8 00000002 00000000 00000002 RWIX INT05 0000ffea 00000002 00000000 00000002 RWIX INT06 0000ffec 00000002 00000000 00000002 RWIX INT07 0000ffee 00000002 00000000 00000002 RWIX INT08 0000fff0 00000002 00000000 00000002 RWIX INT09 0000fff2 00000002 00000000 00000002 RWIX INT10 0000fff4 00000002 00000002 00000000 RWIX INT11 0000fff6 00000002 00000000 00000002 RWIX INT12 0000fff8 00000002 00000000 00000002 RWIX INT13 0000fffa 00000002 00000000 00000002 RWIX INT14 0000fffc 00000002 00000000 00000002 RWIX RESET 0000fffe 00000002 00000002 00000000 RWIX SECTION ALLOCATION MAP output attributes/ section page origin length input sections -------- ---- ---------- ---------- ---------------- .stack 0 00000000 00000064 FAILED TO ALLOCATE .pinit 0 0000f800 00000000 UNINITIALIZED .bss 0 00000200 0000006e UNINITIALIZED 00000200 00000066 music.obj (.bss) 00000266 00000004 rts430.lib : _lock.obj (.bss) 0000026a 00000004 : boot.obj (.bss) .text 0 0000f800 000004fc 0000f800 00000334 music.obj (.text:main) 0000fb34 00000058 rts430.lib : div32u.obj (.text) 0000fb8c 00000046 : autoinit.obj (.text:_auto_init) 0000fbd2 00000042 music.obj (.text:play) 0000fc14 00000040 rts430.lib : div32s.obj (.text) 0000fc54 0000002c music.obj (.text:delay) 0000fc80 00000026 rts430.lib : boot.obj (.text:_c_int00_noexit) 0000fca6 00000014 : mult16.obj (.text) 0000fcba 00000012 : memcpy.obj (.text:memcpy) 0000fccc 00000010 : epilog.obj (.text) 0000fcdc 0000000c music.obj (.text:stop) 0000fce8 0000000a music.obj (.text:WDT_ISR) 0000fcf2 00000004 rts430.lib : pre_init.obj (.text:_system_pre_init) 0000fcf6 00000004 : exit.obj (.text:abort) 0000fcfa 00000002 : _lock.obj (.text:_nop) .const 0 0000fcfc 00000106 0000fcfc 00000106 music.obj (.const:.string) .cinit 0 0000fe02 00000074 0000fe02 00000072 music.obj (.cinit) 0000fe74 00000002 --HOLE-- [fill = 0] .int10 0 0000fff4 00000002 0000fff4 00000002 music.obj (.int10) .reset 0 0000fffe 00000002 0000fffe 00000002 rts430.lib : boot.obj (.reset) GLOBAL SYMBOLS: SORTED ALPHABETICALLY BY Name address name -------- ---- 00000200 .bss 0000f800 .text 00000057 BCSCTL1 00000058 BCSCTL2 00000053 BCSCTL3 0000fcf6 C$$EXIT 000010ff CALBC1_1MHZ 000010fe CALDCO_1MHZ 00000056 DCOCTL 00000128 FCTL1 0000012a FCTL2 0000012c FCTL3 00000000 IE1 00000002 IFG1 00000022 P1DIR 00000025 P1IE 00000024 P1IES 00000023 P1IFG 00000020 P1IN 00000021 P1OUT 00000027 P1REN 00000026 P1SEL 0000002a P2DIR 0000002d P2IE 0000002c P2IES 0000002b P2IFG 00000028 P2IN 00000029 P2OUT 0000002f P2REN 0000002e P2SEL 00000172 TACCR0 00000174 TACCR1 00000162 TACCTL0 00000164 TACCTL1 00000160 TACTL 0000012e TAIV 00000170 TAR 00000120 WDTCTL 0000fce8 WDT_ISR 00000064 __STACK_END 00000064 __STACK_SIZE 00000001 __TI_args_main 00000001 __TI_auto_init 00000001 __TI_exit ffffffff __binit__ 00000200 __bss__ ffffffff __c_args__ 0000fe02 __cinit__ 0000fc14 __divli 0000fb34 __divul 0000026e __end__ 0000fcfc __etext__ 0000fca6 __mpyi ffffffff __pinit__ 0000fc14 __remli 0000fb34 __remul 0000f800 __text__ 0000fb8c _auto_init 0000fc80 _c_int00 0000fc80 _c_int00_noexit 0000026a _cleanup_ptr 0000026c _dtors_ptr 00000266 _lock 0000fcfa _nop 0000fffe _reset_vector 00000000 _stack 0000fcf2 _system_pre_init 00000268 _unlock 0000fcf6 abort ffffffff binit 0000fe02 cinit 0000fc54 delay 0000026e end 0000fcfc etext 0000fcd8 func_epilog_1 0000fcd6 func_epilog_2 0000fcd4 func_epilog_3 0000fcd2 func_epilog_4 0000fcd0 func_epilog_5 0000fcce func_epilog_6 0000fccc func_epilog_7 0000f800 main 0000fcba memcpy 00000202 notes ffffffff pinit 0000fbd2 play 00000264 song 0000fcdc stop 00000200 time GLOBAL SYMBOLS: SORTED BY Symbol Address address name -------- ---- 00000000 IE1 00000000 _stack 00000001 __TI_args_main 00000001 __TI_auto_init 00000001 __TI_exit 00000002 IFG1 00000020 P1IN 00000021 P1OUT 00000022 P1DIR 00000023 P1IFG 00000024 P1IES 00000025 P1IE 00000026 P1SEL 00000027 P1REN 00000028 P2IN 00000029 P2OUT 0000002a P2DIR 0000002b P2IFG 0000002c P2IES 0000002d P2IE 0000002e P2SEL 0000002f P2REN 00000053 BCSCTL3 00000056 DCOCTL 00000057 BCSCTL1 00000058 BCSCTL2 00000064 __STACK_END 00000064 __STACK_SIZE 00000120 WDTCTL 00000128 FCTL1 0000012a FCTL2 0000012c FCTL3 0000012e TAIV 00000160 TACTL 00000162 TACCTL0 00000164 TACCTL1 00000170 TAR 00000172 TACCR0 00000174 TACCR1 00000200 .bss 00000200 __bss__ 00000200 time 00000202 notes 00000264 song 00000266 _lock 00000268 _unlock 0000026a _cleanup_ptr 0000026c _dtors_ptr 0000026e __end__ 0000026e end 000010fe CALDCO_1MHZ 000010ff CALBC1_1MHZ 0000f800 .text 0000f800 __text__ 0000f800 main 0000fb34 __divul 0000fb34 __remul 0000fb8c _auto_init 0000fbd2 play 0000fc14 __divli 0000fc14 __remli 0000fc54 delay 0000fc80 _c_int00 0000fc80 _c_int00_noexit 0000fca6 __mpyi 0000fcba memcpy 0000fccc func_epilog_7 0000fcce func_epilog_6 0000fcd0 func_epilog_5 0000fcd2 func_epilog_4 0000fcd4 func_epilog_3 0000fcd6 func_epilog_2 0000fcd8 func_epilog_1 0000fcdc stop 0000fce8 WDT_ISR 0000fcf2 _system_pre_init 0000fcf6 C$$EXIT 0000fcf6 abort 0000fcfa _nop 0000fcfc __etext__ 0000fcfc etext 0000fe02 __cinit__ 0000fe02 cinit 0000fffe _reset_vector ffffffff __binit__ ffffffff __c_args__ ffffffff __pinit__ ffffffff binit ffffffff pinit [89 symbols]
didnt post it before because its kinda long
thanks
-
thanks bluehash
I tried increasing the stack size , to no avail.
What exactly am I looking for in the map file?
here is what it says for RAM:
name origin length used unused attr fill
---------------------- -------- --------- -------- -------- ---- --------
RAM 00000200 00000080 0000006e 00000012 RWIX
thanks
-
Ive been trying to get this to compile with CCS, with no luck.
could someone give some advice on what to change?
this is the error:
run placement fails for object ".stack", size 0x32 (page 0). Available ranges: RAM size: 0x80 unused: 0x12 max hole: 0x12
sofar Ive changed:
eint(); changed to _BIS_SR(GIE); //enable interrupts
nop(); changed to return
dint(); I dont know what this does so I commented it out
thanks
tim
maybe someday when I feel like I have a small grasp on what Im doing with CCS and coding in general Ill give mspgcc a shot.
-
Great work! Especially for a first project.
-
that starwars outro is awesome
LOL!
-
awesome work!
-
thanks for the code cool project.
-
Hi TopHatHAcker
Could you post your code for the lcd?
Ive been messing around with the same one.
Thanks
tim
-
@ gatesphere
You should work together with the guy who put this code out, or at least communicate with him. It takes the community to make it stronger.
-
So Ive managed to get RobG's code to work on the Wintek 1 x 24 Character LCD Display Module that I got awhile ago from
Electronic Goldmine for $1.99.
Here's the link: http://www.goldmine-elec-products.com/p ... ber=G15318
There are only 2 cons so far:
1 It takes 5v to power the display.
2 It takes 4 wires instead of 3. ( you have to toggle the reset pin on the display.)
logic seems to work fine at the 3.6v the msp430 puts out.
here's the code:
/* hex instructions for display setup 0x1C == LCD power control PW 0x14 == Display on/off DO 0x28 == Display Control sets lines ect. DC 0x4F == Contrast Set CN 0xE0 == DDRAM address set DA */ #include "msp430g2452.h" #define sendData(data) send(data, 1) #define sendInstruction(data) send(data, 0) #define clearDisplay() sendInstruction(0x01); _delay_cycles(2000) #define DATAPIN BIT6 #define CLOCKPIN BIT5 #define ENABLEPIN BIT4 #define RESETPIN BIT7 void send(char data, char registerSelect); void sendDataArray(char data[], char length); //void resetPin(unsigned int bit); void initDisplay(void); char charIndex = 0; char bitCounter = 0; const char message1[8] = {0x34,0x33,0x6F,0x68,0x2E,0x63,0x6F,0x6D}; char message2[11] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0xA4}; const char message3[16] = {0x34,0x2D,0x70,0x69,0x6E,0x20,0x73,0x65,0x72,0x69,0x61,0x6C,0x20,0x4C,0x43,0x44}; char message4[12] = {0x54,0x68,0x61,0x6E,0x6B,0x73,0x20,0xAE,0x6F,0x62,0x47,0x21}; void main(void) { WDTCTL = WDTPW + WDTHOLD; _delay_cycles(100000); P1DIR |= ENABLEPIN + CLOCKPIN + DATAPIN + RESETPIN; // sets ENABLEPIN,CLOCKPIN,DATAPIN and RESETPIN to outputs P1OUT &= ~(CLOCKPIN + DATAPIN + RESETPIN); // sets CLOCKPIN,RESETPIN and DATAPIN low P1OUT |= ENABLEPIN; // sets ENABLEPIN high initDisplay(); // initiate display while(1) { // send const message using sendDataArray clearDisplay(); sendDataArray((char *)message1, 8); _delay_cycles(3000000); // send message using sendDataArray clearDisplay(); sendDataArray(message2, 11); _delay_cycles(3000000); // send message one char at the time clearDisplay(); charIndex = 0; while(charIndex < 16) { sendData(message3[charIndex]); charIndex++; } _delay_cycles(3000000); // send message using sendDataArray clearDisplay(); sendDataArray(message4, 12); _delay_cycles(3000000); } } void sendDataArray(char data[], char length) { charIndex = 0; while(charIndex < length) { sendData(data[charIndex]); charIndex++; } } void send(char data, char registerSelect) { bitCounter = 0; while(bitCounter < 8) { (data & BIT7) ? (P1OUT |= DATAPIN) : (P1OUT &= ~DATAPIN); data <<= 1; P1OUT |= CLOCKPIN; P1OUT &= ~CLOCKPIN; bitCounter++; } registerSelect ? (P1OUT |= DATAPIN) : (P1OUT &= ~DATAPIN); P1OUT &= ~ENABLEPIN; _delay_cycles(3000); P1OUT |= ENABLEPIN; _delay_cycles(10000); P1OUT &= ~ENABLEPIN; } void initDisplay(void) { P1OUT &= ~RESETPIN; // RESETPIN low _delay_cycles(10000); P1OUT |= RESETPIN; //RESETPIN high sendInstruction(0x1C); //PW sendInstruction(0x14); //DO 0x14 sendInstruction(0x28); //DC 0x28 sendInstruction(0x4F); //CN 0x4F sendInstruction(0xE0); //DA //sendInstruction(0x72); //SC //sendInstruction(0xC); //CR }
-
great work!
-
I was just thinking about running a cheap lcd I have with a shift register.
Thanks for the diagram
tim
-
I received the dso nano ver 2 for christmas . I have nothing but good things to say about it.
Im just a beginner with it as well (like all things electronic). The seeed studio forum is a good place to get info.
I got the scope and upgraded the firmware (one of the forum members over there completely re-wrote the firmware), then I watched a couple of tutorials on how to use it and have already used it a couple of times, great tool.
It figures that I would get the nano ver 2 and they would come out with the quad which looks even better by far.
I guess once I use the one I have for a while and get it figured out I could justify getting the quad.
(especially since its got 2 channels. Its nice to be able to compare waveforms in realtime)
my 2cents :mrgreen:
-
according to the data sheet the parts I sampled have 8kb of flash .
I'm psyked on the i/o
here are the part #s :
MSP430G2452IPW20R 20 pin tssop package (smd should be fun)
MSP430G2452IN20 20 pin dip package
-
yea, they have 8kb of flash and more i/o = sweet
-
I just sampled 4 of the msp430g2452 in 2 different packages.
TI said they were back ordered till jan 20th.
I need more I/O. woot! 8-)
-
-
@ simple avr
The dip 8 is an attiny 45.
the sot 8 is an burr brown opa213 op amp for a headphone amp I made.
You cant really see from the picture but the chips are sitting on a sot8 to dip8 breakout I made.
-
the mummy?
which mummy?
the movie?
timotet is just a play on my full name.
-
Hi
Ive been lurking for a couple weeks and thought I'd join.
Thanks for all the info. I have had my launchpad for a couple of weeks, and this site
has been great for getting started.
thanks again
timotet
Playing music
in Code vault
Posted
Bluehash your the man
Thanks for taking the time to help with this.
Well now that makes sense!
yes I do. I think the first post uses the g2211
I was trying to use a G2201, same specs as G2211 as far as memory goes
so how to optimize?