diff --git a/examples/obsolete/device/device_os_none/.cproject b/examples/obsolete/device/device_os_none/.cproject
index 80b42ccdb..1818a0a57 100644
--- a/examples/obsolete/device/device_os_none/.cproject
+++ b/examples/obsolete/device/device_os_none/.cproject
@@ -86,7 +86,7 @@
-
+
@@ -180,7 +180,7 @@
-
+
@@ -284,7 +284,7 @@
-
+
@@ -379,7 +379,7 @@
-
+
@@ -476,7 +476,7 @@
-
+
@@ -569,7 +569,7 @@
-
+
@@ -584,7 +584,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<TargetConfig>
-<Properties property_0="None" property_2="LPC18x7_43x7_2x512_BootA.cfx" property_3="NXP" property_4="LPC4357" property_count="5" version="70200"/>
+<Properties property_2="LPC18x7_43x7_2x512_BootA.cfx" property_3="NXP" property_4="LPC4357" property_count="5" version="70200"/>
<infoList vendor="NXP"><info chip="LPC4357" flash_driver="LPC18x7_43x7_2x512_BootA.cfx" match_id="0x0" name="LPC4357" resetscript="LPC18LPC43InternalFLASHBootResetscript.scp" stub="crt_emu_lpc18_43_nxp"><chip><name>LPC4357</name>
<family>LPC43xx</family>
<vendor>NXP (formerly Philips)</vendor>
diff --git a/examples/obsolete/device/src/cdc_device_app.c b/examples/obsolete/device/src/cdc_device_app.c
index 6ef6e753f..d65b695f8 100644
--- a/examples/obsolete/device/src/cdc_device_app.c
+++ b/examples/obsolete/device/src/cdc_device_app.c
@@ -56,63 +56,22 @@ static osal_semaphore_t sem_hdl;
//--------------------------------------------------------------------+
// INTERNAL OBJECT & FUNCTION DECLARATION
//--------------------------------------------------------------------+
-TUSB_CFG_ATTR_USBRAM static uint8_t serial_rx_buffer[SERIAL_BUFFER_SIZE];
-TUSB_CFG_ATTR_USBRAM static uint8_t serial_tx_buffer[SERIAL_BUFFER_SIZE];
-
-FIFO_DEF(fifo_serial, SERIAL_BUFFER_SIZE, uint8_t, true);
//--------------------------------------------------------------------+
// tinyusb callbacks
//--------------------------------------------------------------------+
-void cdc_serial_app_mount(uint8_t coreid)
+void cdc_serial_app_mount(uint8_t port)
{
- osal_semaphore_reset(sem_hdl);
-
- tud_cdc_receive(coreid, serial_rx_buffer, SERIAL_BUFFER_SIZE, true);
}
-void cdc_serial_app_umount(uint8_t coreid)
+void cdc_serial_app_umount(uint8_t port)
{
}
-void tud_cdc_rx_cb(uint8_t coreid, uint32_t xferred_bytes)
+void tud_cdc_rx_cb(uint8_t port)
{
- fifo_write_n(&fifo_serial, serial_rx_buffer, xferred_bytes);
- osal_semaphore_post(sem_hdl); // notify main task
-}
-
-void tud_cdc_xfer_cb(uint8_t coreid, tusb_event_t event, cdc_pipeid_t pipe_id, uint32_t xferred_bytes)
-{
- switch ( pipe_id )
- {
- case CDC_PIPE_DATA_OUT:
- switch(event)
- {
- case TUSB_EVENT_XFER_COMPLETE:
- for(uint8_t i=0; i
#include "bsp/board.h"
+#include "app_os_prio.h"
#include "tusb.h"
#include "msc_device_app.h"
@@ -59,6 +60,9 @@
// INTERNAL OBJECT & FUNCTION DECLARATION
//--------------------------------------------------------------------+
void print_greeting(void);
+void led_blinking_init(void);
+void led_blinking_task(void* param);
+
#if TUSB_CFG_OS == TUSB_OS_NONE
// like a real RTOS, this function is a main loop invoking each task in application and never return
@@ -107,18 +111,66 @@ int main(void)
//--------------------------------------------------------------------+
// tinyusb callbacks
//--------------------------------------------------------------------+
-void tud_mount_cb(uint8_t coreid)
+void tud_mount_cb(uint8_t port)
{
- cdc_serial_app_mount(coreid);
- keyboard_app_mount(coreid);
- msc_app_mount(coreid);
+ cdc_serial_app_mount(port);
+ keyboard_app_mount(port);
+ msc_app_mount(port);
}
-void tud_umount_cb(uint8_t coreid)
+void tud_umount_cb(uint8_t port)
{
- cdc_serial_app_umount(coreid);
- keyboard_app_umount(coreid);
- msc_app_umount(coreid);
+ cdc_serial_app_umount(port);
+ keyboard_app_umount(port);
+ msc_app_umount(port);
+}
+
+//--------------------------------------------------------------------+
+// BLINKING TASK
+//--------------------------------------------------------------------+
+static uint32_t led_blink_interval_ms = 1000; // default is 1 second
+
+void led_blinking_init(void)
+{
+ led_blink_interval_ms = 1000;
+ osal_task_create(led_blinking_task, "blinky", 128, NULL, LED_BLINKING_APP_TASK_PRIO);
+}
+
+void led_blinking_set_interval(uint32_t ms)
+{
+ led_blink_interval_ms = ms;
+}
+
+tusb_error_t led_blinking_subtask(void);
+void led_blinking_task(void* param)
+{
+ (void) param;
+
+ OSAL_TASK_BEGIN
+ led_blinking_subtask();
+ OSAL_TASK_END
+}
+
+tusb_error_t led_blinking_subtask(void)
+{
+ OSAL_SUBTASK_BEGIN
+
+ static uint32_t led_on_mask = 0;
+
+ osal_task_delay(led_blink_interval_ms);
+
+ board_leds(led_on_mask, 1 - led_on_mask);
+ led_on_mask = 1 - led_on_mask; // toggle
+
+// uint32_t btn_mask;
+// btn_mask = board_buttons();
+//
+// for(uint8_t i=0; i<32; i++)
+// {
+// if ( BIT_TEST_(btn_mask, i) ) printf("button %d is pressed\n", i);
+// }
+
+ OSAL_SUBTASK_END
}
//--------------------------------------------------------------------+
diff --git a/examples/obsolete/device/src/mouse_device_app.c b/examples/obsolete/device/src/mouse_device_app.c
index 055a7b699..512b095fa 100644
--- a/examples/obsolete/device/src/mouse_device_app.c
+++ b/examples/obsolete/device/src/mouse_device_app.c
@@ -56,17 +56,17 @@ TUSB_CFG_ATTR_USBRAM hid_mouse_report_t mouse_report;
//--------------------------------------------------------------------+
// tinyusb callbacks
//--------------------------------------------------------------------+
-void mouse_app_mount(uint8_t coreid)
+void mouse_app_mount(uint8_t port)
{
}
-void mouse_app_umount(uint8_t coreid)
+void mouse_app_umount(uint8_t port)
{
}
-void tusbd_hid_mouse_cb(uint8_t coreid, tusb_event_t event, uint32_t xferred_bytes)
+void tusbd_hid_mouse_cb(uint8_t port, tusb_event_t event, uint32_t xferred_bytes)
{
switch(event)
{
@@ -77,7 +77,7 @@ void tusbd_hid_mouse_cb(uint8_t coreid, tusb_event_t event, uint32_t xferred_byt
}
}
-uint16_t tusbd_hid_mouse_get_report_cb(uint8_t coreid, hid_request_report_type_t report_type, void** pp_report, uint16_t requested_length)
+uint16_t tusbd_hid_mouse_get_report_cb(uint8_t port, hid_request_report_type_t report_type, void** pp_report, uint16_t requested_length)
{
if ( report_type != HID_REQUEST_REPORT_INPUT ) return 0; // not support other report type for this mouse demo
@@ -85,7 +85,7 @@ uint16_t tusbd_hid_mouse_get_report_cb(uint8_t coreid, hid_request_report_type_t
return requested_length;
}
-void tusbd_hid_mouse_set_report_cb(uint8_t coreid, hid_request_report_type_t report_type, uint8_t report_data[], uint16_t length)
+void tusbd_hid_mouse_set_report_cb(uint8_t port, hid_request_report_type_t report_type, uint8_t report_data[], uint16_t length)
{
// mouse demo does not support set report --> do nothing
}
diff --git a/examples/obsolete/device/src/mouse_device_app.h b/examples/obsolete/device/src/mouse_device_app.h
index 027f3afe2..daf2bcb7f 100644
--- a/examples/obsolete/device/src/mouse_device_app.h
+++ b/examples/obsolete/device/src/mouse_device_app.h
@@ -57,8 +57,8 @@
void mouse_app_init(void);
void mouse_app_task(void * param);
-void mouse_app_mount(uint8_t coreid);
-void mouse_app_umount(uint8_t coreid);
+void mouse_app_mount(uint8_t port);
+void mouse_app_umount(uint8_t port);
#else
diff --git a/examples/obsolete/device/src/msc_device_app.c b/examples/obsolete/device/src/msc_device_app.c
index 240f8f4dc..906c1fa09 100644
--- a/examples/obsolete/device/src/msc_device_app.c
+++ b/examples/obsolete/device/src/msc_device_app.c
@@ -89,17 +89,17 @@ static scsi_mode_parameters_t const msc_dev_mode_para =
//--------------------------------------------------------------------+
// tinyusb callbacks
//--------------------------------------------------------------------+
-void msc_app_mount(uint8_t coreid)
+void msc_app_mount(uint8_t port)
{
}
-void msc_app_umount(uint8_t coreid)
+void msc_app_umount(uint8_t port)
{
}
-msc_csw_status_t tud_msc_scsi_cb (uint8_t coreid, uint8_t lun, uint8_t scsi_cmd[16], void const ** pp_buffer, uint16_t* p_length)
+msc_csw_status_t tud_msc_scsi_cb (uint8_t port, uint8_t lun, uint8_t scsi_cmd[16], void const ** pp_buffer, uint16_t* p_length)
{
// read10 & write10 has their own callback and MUST not be handled here
switch (scsi_cmd[0])
diff --git a/examples/obsolete/device/src/msc_device_app.h b/examples/obsolete/device/src/msc_device_app.h
index 47803b7d4..b0ad440ba 100644
--- a/examples/obsolete/device/src/msc_device_app.h
+++ b/examples/obsolete/device/src/msc_device_app.h
@@ -72,8 +72,8 @@ issue at github.com/hathach/tinyusb"
void msc_app_init(void);
void msc_app_task(void* param);
-void msc_app_mount(uint8_t coreid);
-void msc_app_umount(uint8_t coreid);
+void msc_app_mount(uint8_t port);
+void msc_app_umount(uint8_t port);
extern scsi_sense_fixed_data_t mscd_sense_data;
diff --git a/examples/obsolete/device/src/msc_device_ramdisk.c b/examples/obsolete/device/src/msc_device_ramdisk.c
index 37ea923b3..3f9c89dfb 100644
--- a/examples/obsolete/device/src/msc_device_ramdisk.c
+++ b/examples/obsolete/device/src/msc_device_ramdisk.c
@@ -91,13 +91,13 @@ uint8_t msc_device_ramdisk[DISK_BLOCK_NUM][DISK_BLOCK_SIZE] =
//--------------------------------------------------------------------+
// IMPLEMENTATION
//--------------------------------------------------------------------+
-uint16_t tud_msc_read10_cb (uint8_t coreid, uint8_t lun, void** pp_buffer, uint32_t lba, uint16_t block_count)
+uint16_t tud_msc_read10_cb (uint8_t port, uint8_t lun, void** pp_buffer, uint32_t lba, uint16_t block_count)
{
(*pp_buffer) = msc_device_ramdisk[lba];
return min16_of(block_count, DISK_BLOCK_NUM);
}
-uint16_t tud_msc_write10_cb(uint8_t coreid, uint8_t lun, void** pp_buffer, uint32_t lba, uint16_t block_count)
+uint16_t tud_msc_write10_cb(uint8_t port, uint8_t lun, void** pp_buffer, uint32_t lba, uint16_t block_count)
{
(*pp_buffer) = msc_device_ramdisk[lba];
diff --git a/examples/obsolete/device/src/msc_device_romdisk.c b/examples/obsolete/device/src/msc_device_romdisk.c
index 536d22dc7..931e5d367 100644
--- a/examples/obsolete/device/src/msc_device_romdisk.c
+++ b/examples/obsolete/device/src/msc_device_romdisk.c
@@ -97,7 +97,7 @@ static uint8_t sector_buffer[DISK_BLOCK_SIZE];
//--------------------------------------------------------------------+
// IMPLEMENTATION
//--------------------------------------------------------------------+
-uint16_t tusbd_msc_read10_cb (uint8_t coreid, uint8_t lun, void** pp_buffer, uint32_t lba, uint16_t block_count)
+uint16_t tusbd_msc_read10_cb (uint8_t port, uint8_t lun, void** pp_buffer, uint32_t lba, uint16_t block_count)
{
memcpy(sector_buffer, msc_device_app_rommdisk[lba], DISK_BLOCK_SIZE);
(*pp_buffer) = sector_buffer;
@@ -106,7 +106,7 @@ uint16_t tusbd_msc_read10_cb (uint8_t coreid, uint8_t lun, void** pp_buffer, uin
}
// Stall write10 by return 0, as this is readonly disk
-uint16_t tusbd_msc_write10_cb(uint8_t coreid, uint8_t lun, void** pp_buffer, uint32_t lba, uint16_t block_count)
+uint16_t tusbd_msc_write10_cb(uint8_t port, uint8_t lun, void** pp_buffer, uint32_t lba, uint16_t block_count)
{
(*pp_buffer) = NULL;
diff --git a/hw/bsp/board.c b/hw/bsp/board.c
index 2e5597f27..b8b795d60 100644
--- a/hw/bsp/board.c
+++ b/hw/bsp/board.c
@@ -55,56 +55,6 @@ uint32_t tusb_hal_tick_get(void)
#endif
-#if 0
-//--------------------------------------------------------------------+
-// BLINKING TASK
-//--------------------------------------------------------------------+
-static uint32_t led_blink_interval_ms = 1000; // default is 1 second
-
-void led_blinking_init(void)
-{
- led_blink_interval_ms = 1000;
- osal_task_create(led_blinking_task, "blinky", 128, NULL, LED_BLINKING_APP_TASK_PRIO);
-}
-
-void led_blinking_set_interval(uint32_t ms)
-{
- led_blink_interval_ms = ms;
-}
-
-tusb_error_t led_blinking_subtask(void);
-void led_blinking_task(void* param)
-{
- (void) param;
-
- OSAL_TASK_BEGIN
- led_blinking_subtask();
- OSAL_TASK_END
-}
-
-tusb_error_t led_blinking_subtask(void)
-{
- OSAL_SUBTASK_BEGIN
-
- static uint32_t led_on_mask = 0;
-
- osal_task_delay(led_blink_interval_ms);
-
- board_leds(led_on_mask, 1 - led_on_mask);
- led_on_mask = 1 - led_on_mask; // toggle
-
-// uint32_t btn_mask;
-// btn_mask = board_buttons();
-//
-// for(uint8_t i=0; i<32; i++)
-// {
-// if ( BIT_TEST_(btn_mask, i) ) printf("button %d is pressed\n", i);
-// }
-
- OSAL_SUBTASK_END
-}
-#endif
-
// TODO remove legacy cmsis code
void check_failed(uint8_t *file, uint32_t line)
{
diff --git a/tinyusb/common/compiler/compiler_gcc.h b/tinyusb/common/compiler/compiler_gcc.h
index 9b249e4bf..681940afd 100644
--- a/tinyusb/common/compiler/compiler_gcc.h
+++ b/tinyusb/common/compiler/compiler_gcc.h
@@ -121,10 +121,10 @@
// TODO mcu specific
#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
-#define __n2be(x) __REV(x) ///< built-in function to convert 32-bit from native to Big Endian
-#define __be2n(x) __n2be(x) ///< built-in function to convert 32-bit from Big Endian to native
+#define __n2be(x) __builtin_bswap32(x) ///< built-in function to convert 32-bit from native to Big Endian
+#define __be2n(x) __n2be(x) ///< built-in function to convert 32-bit from Big Endian to native
-#define __n2be_16(u16) ((uint16_t) __REV16(u16))
+#define __n2be_16(u16) __builtin_bswap16(u16)
#define __be2n_16(u16) __n2be_16(u16)
#endif