Commit Graph

3448 Commits

Author SHA1 Message Date
Grissiom e74befca44 move libcpu/arm/rm48x50/ to libcpu/arm/cortex-r4 2013-05-31 21:06:26 +08:00
Grissiom 24fc6e6ebb rm48x50: VFP lazy stacking
You need to turn on RT_VFP_LAZY_STACKING in rtconfig.h. By default, RTT
will turn on VFP for all threads and stack all the VFP registers. When
doing lazy stacking, VFP will only be turned on for the thread who
issued VFP instructions.

Currently, if a thread turned on VFP, it cannot be turned off. RTT will
never know what time the thread doesn't need VFP any more. The thread
might could turn off the VFP for it self in proper time.
2013-05-31 20:58:08 +08:00
Grissiom 8bbfd45ce3 rm48x50: change STMFD/LDMFD to STMDB/LDMIA
VFP instructions only have IA(Increment After)/DB(Decrement Before)
mode. To keep consistency, just change STM/LDM to DB/IA accordingly.
2013-05-31 18:38:42 +08:00
Grissiom ec1203bfab rm48x50: turn on VFP support
This support Common VFPv2 sub-architecture.
2013-05-31 18:32:21 +08:00
qiuyiuestc ac032ad07f Merge pull request #97 from heyuanjie87/ForPullRequest
For pull request
2013-05-30 04:13:01 -07:00
heyuanjie87 376a08d89a return correct length of LangID string to host 2013-05-30 18:26:52 +08:00
heyuanjie87 3f74a95663 Merge branch 'master' of https://github.com/RT-Thread/rt-thread into ForPullRequest 2013-05-30 17:54:37 +08:00
Grissiom 939c58c295 rm48x50: remove unused vPortTaskUsesFPU 2013-05-30 17:39:32 +08:00
Grissiom 83ea4dd628 rm48x50: small cleanup on context_ccs.asm 2013-05-30 17:37:50 +08:00
Grissiom d8755ddd93 rm48x50: move uart.c to drv_uart.c 2013-05-30 10:02:26 +08:00
Grissiom 4d40978a70 rm48x50: add finsh support 2013-05-29 23:39:09 +08:00
Grissiom eda09ab002 rm48x50/uart.c: fix bugs 2013-05-29 23:38:10 +08:00
Grissiom 27ee5b627b finsh: add CCS support 2013-05-29 23:37:43 +08:00
Grissiom 810311b624 rm48x50: fix bug in rt_hw_interrupt_{mask,unmask} 2013-05-29 23:36:32 +08:00
Grissiom 9237433030 add TI CCS support micros in rtdef.h 2013-05-29 23:36:10 +08:00
Grissiom 50c8cbe1d5 rm48x50: now it has console 2013-05-29 17:26:34 +08:00
Grissiom d22496aee8 rm48x50: update HALCoGen file 2013-05-29 16:42:26 +08:00
Bernard Xiong 26e38b436e Merge pull request #96 from weety/at91sam9260
use __rt_ffs instead of ffs
2013-05-27 19:37:05 +08:00
Grissiom f08df08897 rm48x50: optimize a BEQ
Use condition flag in the ORR. This could eliminate a BEQ.
2013-05-26 23:37:56 +08:00
Grissiom 19fe6251e7 rm48x50: optimize context_switch_interrupt_to by reuse registers
When saving thread registers in context_switch_interrupt_to, we don't
change them, just move them. So there is no need to always r0-r3 from
stack to the real r0-r3. So just use the intermediate registers and
eliminate 2 MOV.
2013-05-26 22:37:49 +08:00
Grissiom 435f305fa2 rm48x50: temperately disable the VFP register test 2013-05-26 22:15:26 +08:00
Grissiom 56b640ecb6 rm48x50: add vRegTestTask2 2013-05-26 22:14:24 +08:00
Grissiom 2805d315bd rm48x50: fix bug in reg_test from FreeRTOS
It does not satisfy AAPCS.
2013-05-26 21:49:26 +08:00
Grissiom 85ec844de9 rm48x50: add reg_test from FreeRTOS
The code is GPLv2 so I think we could use it for free(both free beer and
free speech).
2013-05-26 21:16:14 +08:00
Grissiom 3d0647efb3 rm48x50: optimize context_switch_interrupt_do
Substitude STMFD, MOV, ADD with STMFD, SUB. It reduce one instruction.
Tested on board and it works like a charm.
2013-05-26 17:22:36 +08:00
Grissiom b39d038cf0 rm48x50: utilize CPS instruction and remove some useless code 2013-05-26 16:55:39 +08:00
Bernard Xiong 521e331dbf Merge pull request #96 from weety/at91sam9260
use __rt_ffs instead of ffs
2013-05-25 06:33:10 -07:00
weety 624d947e56 use __rt_ffs instead of ffs 2013-05-25 18:57:01 +08:00
qiuyiuestc a33e992724 Merge pull request #95 from grissiom/vcom
usbdevice/core: add reset function to support hotplug
2013-05-25 01:05:00 -07:00
qiuyiuestc 97a507e667 usbdevice/core: add reset function to support hotplug
When the USB got RESET packet from the host and the address is setup,
all the classes will got reset. The reset is done by class stop and than
class run. So the classes should reset their internal state in
class_{run,stop}.

Besides, the USB device driver could post a USB_MSG_RESET message on
every RESET packet.
2013-05-25 15:55:27 +08:00
qiuyiuestc 2e25159a83 Merge pull request #94 from grissiom/vcom
cdc_vcom: reset the vcom state in proper cases
2013-05-25 00:52:05 -07:00
Grissiom 046182be94 cdc_vcom: reset the vcom state in proper cases
Reset the vcom state in class_{run,stop} and when the PC is not
receiving data from me.
2013-05-25 15:25:32 +08:00
Grissiom f51bce3fed add rm48x50 bsp and libcpu
We currently only support building with CCS and SCons is not using.
bsp/rm48x50/HALCoGen/HALCoGen.{hcg,dil} is the HALCoGen project file.
You may need to regenerate the source file as you like, providing that:

    1, IRQ is in Dispatch Mode and the table entry is IRQ_Handler. The
    channel 5 in enabled and connected to IRQ.

    2, RTI driver is enabled and compare3 source is selected to counter1
    and the compare3 will generate tick in the period of 10ms. This
    value is coresponding with RT_TICK_PER_SECOND in rtconfig.h.

In CCS, you need to create a new CCS project and create link folders
pointing at bsp/rm48x50, libcpu/arm/rm48x50 and src/, include/. Remember
to add the include path to the Build Properties.
2013-05-24 22:55:13 +08:00
qiuyiuestc b0c7d480ee Merge pull request #93 from heyuanjie87/ForPullRequest
For pull request
2013-05-22 21:49:59 -07:00
heyuanjie87 8aa4eb7924 make Host can halt endpoints 2013-05-23 12:33:22 +08:00
prife 49404aceeb Merge pull request #88 from grissiom/fix-sim-serial
simulator: fix serial_write
2013-05-23 12:30:10 +08:00
prife d0d1861d81 Merge pull request #88 from grissiom/fix-sim-serial
simulator: fix serial_write
2013-05-19 08:48:18 -07:00
qiuyiuestc e822f87b1a Merge pull request #90 from heyuanjie87/ForPullRequest
For pull request
2013-05-17 06:39:05 -07:00
Bernard Xiong 2ef9d91913 Merge pull request #89 from grissiom/dfs-misc-fix
add missing dfs_mkfs prototype in dfs_fs.h
2013-05-17 06:15:15 -07:00
Bernard Xiong c5dd2feb07 Merge pull request #91 from aozima/pulls
Pulls
2013-05-17 06:15:03 -07:00
Bernard Xiong 7cc284d5a0 add library file for Keil MDK project generation 2013-05-17 21:13:55 +08:00
aozima c77c69c46e fix spelling error. 2013-05-17 20:59:38 +08:00
aozima 9a671a5002 move initial alarm event & mutex in system init. 2013-05-17 20:58:40 +08:00
aozima 36fc5520cb format code by Astyle. 2013-05-17 20:57:05 +08:00
heyuanjie87 8b4aadb4db add usb state 2013-05-17 20:53:05 +08:00
Grissiom 3b91e8143b add missing dfs_mkfs prototype in dfs_fs.h 2013-05-17 20:07:55 +08:00
heyuanjie87 3d9c558afa Merge branch 'master' of https://github.com/RT-Thread/rt-thread into ForPullRequest 2013-05-16 17:25:11 +08:00
qiuyiuestc 713b1f00a6 Merge pull request #87 from grissiom/static-usbd
Static usbd
2013-05-16 17:19:26 +08:00
Grissiom 60857630c0 simulator: fix serial_write
printf("%s") will print a NULL terminated string, while rt_serial_write
should print buffer for size length. This also fix segfault when the
string is not null terminated but specified by size.
2013-05-15 20:16:03 +08:00
qiuyiuestc f7d1097e6b Merge pull request #87 from grissiom/static-usbd
Static usbd
2013-05-12 01:00:11 -07:00