Commit Graph

2621 Commits

Author SHA1 Message Date
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
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
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
Grissiom b3e38f53b4 usbdevice/core: use static message queue
Although currently the only message send to the queue is struct
udev_msg, in order to keep backward compacity and for extention in the
future, we set the size of message to 32.
2013-05-12 15:43:30 +08:00
Grissiom f0d50a7b36 usbdevice/core: use static thread instead of dynamic thread
It also add two configurations for the USB device even loop thread:

    RT_USBD_THREAD_STACK_SZ to set the stack size, default to 2048
    RT_USBD_THREAD_PRIO     to set the priority, default to 8

You can overwrite the default values in rtconfig.h
2013-05-12 15:43:29 +08:00
Bernard Xiong f1e34eef11 Merge pull request #86 from grissiom/serial-rb-size
serial: use RT_SERIAL_RB_BUFSZ to define the size of ring buffer.
2013-05-11 23:18:18 -07:00
Bernard Xiong 94b7fee4d2 Merge pull request #85 from grissiom/fix-usb-serial
Fix usb serial
2013-05-11 23:18:03 -07:00
Bernard Xiong 8e9e7f3e7c serial: use RT_SERIAL_RB_BUFSZ to define the size of ring buffer. 2013-05-12 14:03:11 +08:00
Grissiom aa179e4438 cdc_vcom: not to start sending data when the data is already sending
We start the sending transaction in SOF handler. But if the data is
already sending, start an other transaction will cause data lose.
Implement a state machine is cdc_vcom and avoid that.
2013-05-12 13:27:13 +08:00
Grissiom 157af94af9 usbdevice/core: small optimization on the event loop
Sort the switch cases by the frequency of the events.
2013-05-12 13:07:03 +08:00
Grissiom d23ee75d2e cdc_vcom: send data as many as possible
The data filled into dcd_ep_write does not to be limited by
MaxPacketSize.
2013-05-10 17:50:07 +08:00
Grissiom 5de59429fe usbdevice/core: misc cleanup 2013-05-10 17:35:33 +08:00
Grissiom ffb1e62020 cdc_vcom: send a zero-length-packet at the end is transaction 2013-05-10 15:17:59 +08:00
Grissiom 778c4239b1 cdc_vcom: fix the bug that use ringbuffer pool as usb packet buffer
This commit set the buffer for packet to CDC_MaxPacketSize which is a
reasonable value for it. However, maybe we should make
CDC_{RX,TX}_BUFSIZE configurable as well.
2013-05-09 23:18:58 +08:00
Bernard Xiong c8d85a5c35 Merge pull request #84 from grissiom/ringbuffer
Ringbuffer
2013-05-08 05:21:38 -07:00
Grissiom 952bc0d4ef ringbuffer: format the code to a more symmetric structure 2013-05-08 15:54:30 +08:00
Grissiom 639bd30321 reimplement ringbuffer
The new implementation use the mirroring method to distinguish full
buffer and the empty buffer. It also support buffers of arbitrary size.
2013-05-08 15:45:31 +08:00
Bernard Xiong 1161e7b3f8 Merge branch 'master' of https://github.com/RT-Thread/rt-thread 2013-05-05 07:17:16 +08:00
Bernard Xiong 0e16b6dc97 add RAMFS implementation 2013-05-05 07:16:49 +08:00
Bernard Xiong ab3e00cc21 Update .travis.yml 2013-05-05 05:45:41 +08:00
Bernard Xiong 692f984a23 Update README.md 2013-05-05 05:41:37 +08:00
qiuyiuestc b5646a20e7 Merge pull request #81 from grissiom/fix-usb
usbdevice/core/core.c: fix garbage value bug
2013-05-04 03:38:45 -07:00
Grissiom d196a75a41 usbdevice/core/core.c: fix garbage value bug
This could crash the program with -O1 and -O2 in MDK.
2013-05-04 18:34:13 +08:00
Bernard Xiong e58d656477 remove project.uvopt file when generate keil mdk project file 2013-04-25 14:22:56 +08:00
Bernard Xiong 4afdf44da2 add RT_KERNEL_MALLOC/FREE 2013-04-25 14:22:07 +08:00
Bernard Xiong 608bf2cb3d add rt_memheap_realloc function 2013-04-17 22:09:48 +08:00
yiyue.fang 8185f9888d Merge branch 'master' of https://github.com/RT-Thread/rt-thread 2013-04-10 21:51:16 +08:00
yiyue.fang da597730d1 change the version number in doxyfile
1.1.0 -> 1.2.0
2013-04-10 21:51:00 +08:00
shaolin f91fc2dbe2 Merge branch 'master' of https://github.com/RT-Thread/rt-thread 2013-04-10 21:48:16 +08:00
yiyue.fang f34ef8d984 change the version number in the doxygen document
1.1.0 -> 1.2.0
2013-04-10 21:43:35 +08:00