Changeset 309

Show
Ignore:
Timestamp:
11/18/07 12:41:09 (11 months ago)
Author:
agr
Message:

stack init update to enable msp430 stack config

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • nano-RK/projects/basic_SLIPstream/main.c

    r272 r309  
    145145{ 
    146146  TaskOne.task = Task1; 
    147   TaskOne.Ptos = (void *) &Stack1[NRK_APP_STACKSIZE - 1]; 
    148   TaskOne.Pbos = (void *) &Stack1[0]; 
     147  nrk_task_set_stk( &TaskOne, Stack1, NRK_APP_STACKSIZE); 
    149148  TaskOne.prio = 1; 
    150149  TaskOne.FirstActivation = TRUE; 
     
    160159 
    161160  TaskTwo.task = Task2; 
    162   TaskTwo.Ptos = (void *) &Stack2[NRK_APP_STACKSIZE - 1]; 
    163   TaskTwo.Pbos = (void *) &Stack2[0]; 
     161  nrk_task_set_stk( &TaskTwo, Stack2, NRK_APP_STACKSIZE); 
    164162  TaskTwo.prio = 2; 
    165163  TaskTwo.FirstActivation = TRUE; 
  • nano-RK/projects/basic_adc/main.c

    r243 r309  
    108108{ 
    109109  TaskOne.task = Task1; 
    110   TaskOne.Ptos = (void *) &Stack1[NRK_APP_STACKSIZE]; 
    111   TaskOne.Pbos = (void *) &Stack1[0]; 
     110  nrk_task_set_stk( &TaskOne, Stack1, NRK_APP_STACKSIZE); 
    112111  TaskOne.prio = 1; 
    113112  TaskOne.FirstActivation = TRUE; 
  • nano-RK/projects/basic_bmac/main.c

    r243 r309  
    172172 
    173173  RX_TASK.task = rx_task; 
    174   RX_TASK.Ptos = (void *) &rx_task_stack[NRK_APP_STACKSIZE - 1]; 
    175   RX_TASK.Pbos = (void *) &rx_task_stack[0]; 
     174  nrk_task_set_stk( &RX_TASK, rx_task_stack, NRK_APP_STACKSIZE); 
    176175  RX_TASK.prio = 2; 
    177176  RX_TASK.FirstActivation = TRUE; 
     
    187186 
    188187  TX_TASK.task = tx_task; 
    189   TX_TASK.Ptos = (void *) &tx_task_stack[NRK_APP_STACKSIZE - 1]; 
    190   TX_TASK.Pbos = (void *) &tx_task_stack[0]; 
     188  nrk_task_set_stk( &TX_TASK, tx_task_stack, NRK_APP_STACKSIZE); 
    191189  TX_TASK.prio = 2; 
    192190  TX_TASK.FirstActivation = TRUE; 
  • nano-RK/projects/basic_eeprom/main.c

    r251 r309  
    168168{ 
    169169  TaskOne.task = Task1; 
    170   TaskOne.Ptos = (void *) &Stack1[NRK_APP_STACKSIZE]; 
    171   TaskOne.Pbos = (void *) &Stack1[0]; 
     170  nrk_task_set_stk( &TaskOne, Stack1, NRK_APP_STACKSIZE); 
    172171  TaskOne.prio = 1; 
    173172  TaskOne.FirstActivation = TRUE; 
     
    183182 
    184183  TaskTwo.task = Task2; 
    185   TaskTwo.Ptos = (void *) &Stack2[NRK_APP_STACKSIZE]; 
    186   TaskTwo.Pbos = (void *) &Stack2[0]; 
     184  nrk_task_set_stk( &TaskTwo, Stack2, NRK_APP_STACKSIZE); 
    187185  TaskTwo.prio = 2; 
    188186  TaskTwo.FirstActivation = TRUE; 
     
    199197 
    200198  TaskThree.task = Task3; 
    201   TaskThree.Ptos = (void *) &Stack3[NRK_APP_STACKSIZE]; 
    202   TaskThree.Pbos = (void *) &Stack3[0]; 
     199  nrk_task_set_stk( &TaskThree, Stack3, NRK_APP_STACKSIZE); 
    203200  TaskThree.prio = 3; 
    204201  TaskThree.FirstActivation = TRUE; 
     
    215212 
    216213  TaskFour.task = Task4; 
    217   TaskFour.Ptos = (void *) &Stack4[NRK_APP_STACKSIZE]; 
    218   TaskFour.Pbos = (void *) &Stack4[0]; 
     214  nrk_task_set_stk( &TaskFour, Stack4, NRK_APP_STACKSIZE); 
    219215  TaskFour.prio = 4; 
    220216  TaskFour.FirstActivation = TRUE; 
  • nano-RK/projects/basic_mmc/main.c

    r243 r309  
    200200 
    201201  TaskOne.task = Task1; 
    202   TaskOne.Ptos = (void *) &Stack1[NRK_APP_STACKSIZE]; 
    203   TaskOne.Pbos = (void *) &Stack1[0]; 
     202  nrk_task_set_stk( &TaskOne, Stack1, NRK_APP_STACKSIZE); 
    204203  TaskOne.prio = 1; 
    205204  TaskOne.FirstActivation = TRUE; 
     
    215214 
    216215  TaskTwo.task = Task2; 
    217   TaskTwo.Ptos = (void *) &Stack2[NRK_APP_STACKSIZE]; 
    218   TaskTwo.Pbos = (void *) &Stack2[0]; 
     216  nrk_task_set_stk( &TaskTwo, Stack2, NRK_APP_STACKSIZE); 
    219217  TaskTwo.prio = 2; 
    220218  TaskTwo.FirstActivation = TRUE; 
     
    231229 
    232230  TaskThree.task = Task3; 
    233   TaskThree.Ptos = (void *) &Stack3[NRK_APP_STACKSIZE]; 
    234   TaskThree.Pbos = (void *) &Stack3[0]; 
     231  nrk_task_set_stk( &TaskThree, Stack3, NRK_APP_STACKSIZE); 
    235232  TaskThree.prio = 3; 
    236233  TaskThree.FirstActivation = TRUE; 
     
    247244 
    248245  TaskFour.task = Task4; 
    249   TaskFour.Ptos = (void *) &Stack4[NRK_APP_STACKSIZE]; 
    250   TaskFour.Pbos = (void *) &Stack4[0]; 
     246  nrk_task_set_stk( &TaskFour, Stack4, NRK_APP_STACKSIZE); 
    251247  TaskFour.prio = 4; 
    252248  TaskFour.FirstActivation = TRUE; 
  • nano-RK/projects/basic_sensors/main.c

    r243 r309  
    117117{ 
    118118  TaskOne.task = Task1; 
    119   TaskOne.Ptos = (void *) &Stack1[NRK_APP_STACKSIZE]; 
    120   TaskOne.Pbos = (void *) &Stack1[0]; 
     119  nrk_task_set_stk( &TaskOne, Stack1, NRK_APP_STACKSIZE); 
    121120  TaskOne.prio = 1; 
    122121  TaskOne.FirstActivation = TRUE; 
  • nano-RK/projects/basic_serial/main.c

    r243 r309  
    116116{ 
    117117  TaskOne.task = rx_task; 
    118   TaskOne.Ptos = (void *) &Stack1[NRK_APP_STACKSIZE]; 
    119   TaskOne.Pbos = (void *) &Stack1[0]; 
     118  nrk_task_set_stk( &TaskOne, Stack1, NRK_APP_STACKSIZE); 
    120119  TaskOne.prio = 1; 
    121120  TaskOne.FirstActivation = TRUE; 
     
    131130 
    132131  TaskTwo.task = tx_task; 
    133   TaskTwo.Ptos = (void *) &Stack2[NRK_APP_STACKSIZE]; 
    134   TaskTwo.Pbos = (void *) &Stack2[0]; 
     132  nrk_task_set_stk( &TaskTwo, Stack2, NRK_APP_STACKSIZE); 
    135133  TaskTwo.prio = 2; 
    136134  TaskTwo.FirstActivation = TRUE; 
  • nano-RK/projects/basic_signals/main.c

    r243 r309  
    175175{ 
    176176  TaskOne.task = Task1; 
    177   TaskOne.Ptos = (void *) &Stack1[NRK_APP_STACKSIZE]; 
    178   TaskOne.Pbos = (void *) &Stack1[0]; 
     177  nrk_task_set_stk( &TaskOne, Stack1, NRK_APP_STACKSIZE); 
    179178  TaskOne.prio = 5; 
    180179  TaskOne.FirstActivation = TRUE; 
     
    190189 
    191190  TaskTwo.task = Task2; 
    192   TaskTwo.Ptos = (void *) &Stack2[NRK_APP_STACKSIZE]; 
    193   TaskTwo.Pbos = (void *) &Stack2[0]; 
     191  nrk_task_set_stk( &TaskTwo, Stack2, NRK_APP_STACKSIZE); 
    194192  TaskTwo.prio = 4; 
    195193  TaskTwo.FirstActivation = TRUE; 
     
    205203 
    206204  TaskThree.task = Task3; 
    207   TaskThree.Ptos = (void *) &Stack3[NRK_APP_STACKSIZE]; 
    208   TaskThree.Pbos = (void *) &Stack3[0]; 
     205  nrk_task_set_stk( &TaskThree, Stack3, NRK_APP_STACKSIZE); 
    209206  TaskThree.prio = 3; 
    210207  TaskThree.FirstActivation = TRUE; 
  • nano-RK/projects/basic_tasks/main.c

    r281 r309  
    143143{ 
    144144  TaskOne.task = Task1; 
    145   TaskOne.Ptos = (void *) &Stack1[NRK_APP_STACKSIZE]; 
    146   TaskOne.Pbos = (void *) &Stack1[0]; 
     145  nrk_task_set_stk( &TaskOne, Stack1, NRK_APP_STACKSIZE); 
    147146  TaskOne.prio = 1; 
    148147  TaskOne.FirstActivation = TRUE; 
     
    158157 
    159158  TaskTwo.task = Task2; 
    160   TaskTwo.Ptos = (void *) &Stack2[NRK_APP_STACKSIZE]; 
    161   TaskTwo.Pbos = (void *) &Stack2[0]; 
     159  nrk_task_set_stk( &TaskTwo, Stack2, NRK_APP_STACKSIZE); 
    162160  TaskTwo.prio = 2; 
    163161  TaskTwo.FirstActivation = TRUE; 
     
    174172 
    175173  TaskThree.task = Task3; 
    176   TaskThree.Ptos = (void *) &Stack3[NRK_APP_STACKSIZE]; 
    177   TaskThree.Pbos = (void *) &Stack3[0]; 
     174  nrk_task_set_stk( &TaskThree, Stack3, NRK_APP_STACKSIZE); 
    178175  TaskThree.prio = 3; 
    179176  TaskThree.FirstActivation = TRUE; 
  • nano-RK/projects/basic_tasks/makefile

    r295 r309  
    77 
    88# Set the Port that you programmer is connected to  
    9 PROGRAMMING_PORT = `ls /dev/tty.* | grep usb | head -n 1` # programmer connected to serial device 
     9PROGRAMMING_PORT = /dev/ttyUSB1 
     10 
     11 
     12# PROGRAMMING_PORT = `ls /dev/tty.* | grep usb | head -n 1` # programmer connected to serial device 
    1013 
    1114# Set this such that the nano-RK directory is the base path 
  • nano-RK/projects/flash_flood/gateway/main.c

    r308 r309  
    166166    tx_buf[PKT_TYPE]=PING_PKT | FLOOD_MASK; 
    167167    tx_buf[DS_HOP_CNT]=0; 
    168     tx_buf[DS_HOP_MAX]=5
     168    tx_buf[DS_HOP_MAX]=2
    169169    tx_buf[DS_DELAY_PER_LEVEL]=1; 
    170170    tx_buf[DS_NAV]=15; 
     
    225225  TX_TASK.Type = BASIC_TASK; 
    226226  TX_TASK.SchType = PREEMPTIVE; 
    227   TX_TASK.period.secs = 30
     227  TX_TASK.period.secs = 3
    228228  TX_TASK.period.nano_secs = 0; 
    229229  TX_TASK.cpu_reserve.secs = 1; 
  • nano-RK/projects/flash_flood/include/tree_route.h

    r307 r309  
    6666#define DS_SEQ_NUM              7 
    6767#define DS_PRIORITY             8 
    68 #define DS_PAYLOAD_START        9 
     68#define DS_SRC_MAC              9 
     69#define DS_PAYLOAD_START        10       
    6970 
    7071#define US_SUBNET_MAC           1 
    7172#define US_SEQ_NUM              2 
    7273#define US_ERROR_CODE           3 
    73 #define US_PAYLOAD_START        4 
     74#define US_DST_MAC              4 
     75#define US_PAYLOAD_START        5 
    7476 
    7577typedef struct ff_downstream_pkt  
     
    8587        uint8_t seq_num; 
    8688        uint8_t priority; 
     89        uint8_t src_mac; 
    8790} FF_DOWNSTREAM_PKT_T; 
    8891 
     
    9396        uint8_t seq_num;   
    9497        uint8_t error_code;  // Allow errors to be sent up 
     98        uint8_t dst_mac; 
    9599// Pass up error if there is a reply beyond max depth 
    96100}FF_UPSTREAM_PKT_T; 
  • nano-RK/projects/self_test/main.c

    r256 r309  
    226226 
    227227  RX_TASK.task = rx_task; 
    228   RX_TASK.Ptos = (void *) &rx_task_stack[NRK_APP_STACKSIZE - 1]; 
    229   RX_TASK.Pbos = (void *) &rx_task_stack[0]; 
     228  nrk_task_set_stk( &RX_TASK, rx_task_stack, NRK_APP_STACKSIZE); 
    230229  RX_TASK.prio = 2; 
    231230  RX_TASK.FirstActivation = TRUE; 
     
    241240 
    242241  TX_TASK.task = tx_task; 
    243   TX_TASK.Ptos = (void *) &tx_task_stack[NRK_APP_STACKSIZE - 1]; 
    244   TX_TASK.Pbos = (void *) &tx_task_stack[0]; 
     242  nrk_task_set_stk( &TX_TASK, tx_task_stack, NRK_APP_STACKSIZE); 
    245243  TX_TASK.prio = 25; 
    246244  TX_TASK.FirstActivation = TRUE; 
     
    255253  nrk_activate_task (&TX_TASK); 
    256254 
    257  
    258  
    259   printf ("Create done\r\n"); 
    260 
     255
  • nano-RK/projects/widom/basic_widom/main.c

    r243 r309  
    182182{ 
    183183  type_task_snd.task = task_snd; 
    184   type_task_snd.Ptos = (void *) &stack_task_snd[NRK_APP_STACKSIZE]; 
    185   type_task_snd.Pbos = (void *) &stack_task_snd[0]; 
     184  nrk_task_set_stk( &type_task_snd, stack_task_snd, NRK_APP_STACKSIZE); 
    186185  type_task_snd.prio = 1; 
    187186  type_task_snd.FirstActivation = TRUE; 
     
    197196 
    198197  type_task_rcv.task = task_rcv; 
    199   type_task_rcv.Ptos = (void *) &stack_task_rcv[NRK_APP_STACKSIZE]; 
    200   type_task_rcv.Pbos = (void *) &stack_task_rcv[0]; 
     198  nrk_task_set_stk( &type_task_rcv, stack_task_rcv, NRK_APP_STACKSIZE); 
    201199  type_task_rcv.prio = 2; 
    202200  type_task_rcv.FirstActivation = TRUE; 
  • nano-RK/src/kernel/hal/atmega1281/nrk_cpu.c

    r294 r309  
    3434#include <nrk_defs.h> 
    3535#include <nrk_cfg.h> 
     36#include <nrk_error.h> 
    3637 
    3738#define BUILD_DATE "Date: " __DATE__ "\n" 
     
    9293 
    9394} 
     95 
     96 
     97void nrk_task_set_stk( nrk_task_type *task, void *stk_base, uint16_t stk_size ) 
     98{ 
     99 
     100if(stk_size<32) nrk_error_add(NRK_STACK_TOO_SMALL); 
     101task->Ptos = (void *) &stk_base[stk_size-1]; 
     102task->Pbos = (void *) &stk_base[0]; 
     103 
     104} 
     105 
    94106void *nrk_task_stk_init (void (*task)(), void *ptos, void *pbos) 
    95107{ 
  • nano-RK/src/kernel/include/nrk_error.h

    r235 r309  
    5151#define NRK_SEMAPHORE_CREATE_ERROR      15 
    5252#define NRK_WATCHDOG_ERROR              16 
    53 #define NRK_NUM_ERRORS                  17 
     53#define NRK_STACK_TOO_SMALL             17 
     54#define NRK_NUM_ERRORS                  18 
    5455typedef uint8_t NRK_ERRNO; 
    5556 
  • nano-RK/src/kernel/source/nrk.c

    r298 r309  
    151151    
    152152        IdleTask.task = nrk_idle_task; 
    153         IdleTask.Ptos = (void *)&nrk_idle_task_stk[NRK_TASK_IDLE_STK_SIZE-1]; 
    154         IdleTask.Pbos = (void *)&nrk_idle_task_stk[0];  // Stack checked in idle task... 
     153        nrk_task_set_stk( &IdleTask, nrk_idle_task_stk, NRK_APP_STACKSIZE); 
    155154        nrk_idle_task_stk[0]=STK_CANARY_VAL;     
    156155        IdleTask.task_ID = 0; 
  • nano-RK/src/kernel/source/nrk_error.c

    r285 r309  
    110110    switch (error_num) 
    111111       { 
     112    case NRK_STACK_TOO_SMALL: 
     113      nrk_kprintf (PSTR ("Stack was not defined as large enough!")); 
     114      break; 
    112115    case NRK_STACK_OVERFLOW: 
    113116      nrk_kprintf (PSTR ("Task Stack Overflow")); 
  • nano-RK/src/net/bmac/bmac.c

    r292 r309  
    364364{ 
    365365    bmac_task.task = bmac_nw_task; 
    366     bmac_task.Ptos = (void *) &bmac_task_stack[BMAC_STACK_SIZE-1]; 
    367     bmac_task.Pbos = (void *) &bmac_task_stack[0]; 
     366    nrk_task_set_stk( &bmac_task, bmac_task_stack, BMAC_STACK_SIZE); 
    368367    bmac_task.prio = BMAC_TASK_PRIORITY; 
    369368    bmac_task.FirstActivation = TRUE; 
  • nano-RK/src/net/rt_link/rt_link.c

    r278 r309  
    11141114{ 
    11151115    rtl_task.task = rtl_nw_task; 
    1116     rtl_task.Ptos = (void *) &rtl_task_stack[RT_LINK_STACK_SIZE - 1]; 
    1117     rtl_task.Pbos = (void *) &rtl_task_stack[0]; 
     1116    nrk_task_set_stk( &rtl_task, rtl_task_stack, RT_LINK_STACK_SIZE); 
    11181117    rtl_task.prio = 20; 
    11191118    rtl_task.FirstActivation = TRUE;