OSDN Git Service

Update ecrobot to nxtOSEK_v212.zip
[nxt-jsp/etrobo-atk.git] / nxtOSEK / ecrobot / bios / flash_loader.c
index 0d1d911..1f795d9 100644 (file)
@@ -68,6 +68,8 @@
 #include "bios_display.h"\r
 #include "bios.h"\r
 \r
+#include "ecrobot_usb.h"\r
+\r
 /*\r
  * verify flash pages\r
  *\r
@@ -80,7 +82,7 @@ static int verify_flash_page(int start_page, U8 *data, int page_num)
        int i;\r
        volatile U8 *page_addr;\r
 \r
-       page_addr = (volatile U8 *)(0x00100000 + \r
+       page_addr = (volatile U8 *)(FLASH_START_ADDR + \r
                (start_page + page_num) * FLASH_PAGE_SIZE);\r
 \r
        for (i = 0; i < FLASH_PAGE_SIZE; i++)\r
@@ -122,7 +124,7 @@ int is_bios_version_equal(void)
 {\r
        char *version;\r
 \r
-       version = (char *)(0x00100000 + FLASH_RECORD_START_PAGE * FLASH_PAGE_SIZE);\r
+       version = (char *)(FLASH_START_ADDR + FLASH_RECORD_START_PAGE * FLASH_PAGE_SIZE);\r
        return ((int)!strcmp((const char *)version, VERSION));\r
 }\r
 \r
@@ -137,7 +139,7 @@ int has_flash_request(void)
 {\r
        char *request;\r
 \r
-       request = (char *)(0x00100000 + FLASH_REQUEST_START_PAGE * FLASH_PAGE_SIZE);\r
+       request = (char *)(FLASH_START_ADDR + FLASH_REQUEST_START_PAGE * FLASH_PAGE_SIZE);\r
        return ((int)!strcmp((const char *)request, FLASH_REQUEST));\r
 }\r
 \r
@@ -188,15 +190,19 @@ void flash_loader(void)
        int data_end;\r
        int page;\r
 \r
-       udp_reset();\r
+       ecrobot_init_usb();\r
+       ecrobot_set_name_usb((U8 *)VERSION); /* this will be checked in appflash */\r
+\r
        i = 0;\r
        page = 0;\r
        current_data = 0;\r
        data_end = -1;\r
        while(1)\r
        {\r
-               len = udp_read(&data[i], DATA_LENGTH);\r
+               ecrobot_process1ms_usb();\r
+               systick_wait_ms(1);\r
 \r
+               len = ecrobot_read_usb(&data[i], 0, DATA_LENGTH);\r
                if (len == 2 && data_end == -1)\r
                {\r
                        /* initialize flash loader */\r
@@ -210,7 +216,7 @@ void flash_loader(void)
                else if (len == DATA_LENGTH && data_end != -1)\r
                {\r
                        /* echo back to PC to check data corruption */\r
-                       udp_write(&data[i], DATA_LENGTH);\r
+                       ecrobot_send_usb(&data[i], 0, DATA_LENGTH);\r
                        i += DATA_LENGTH;\r
                        current_data++;\r
                        display_bios_status(current_data, data_end);\r
@@ -268,7 +274,7 @@ void flash_loader(void)
                if (buttons_get() == EXIT_BUTTON && data_end == -1)\r
                {\r
                        /* shut down the NXT */\r
-                       udp_close(1);\r
+                       ecrobot_term_usb();\r
                        display_clear(1);\r
                        systick_wait_ms(10);\r
                        nxt_lcd_power_down(); /* reset LCD hardware */\r