⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hid.htm

📁 ARM实例程序
💻 HTM
📖 第 1 页 / 共 3 页
字号:
</UL>
<BR>[Called By]<UL><LI><a href="#[c2267c]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;USB_SetInterface
<LI><a href="#[c226fc]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;USB_SetConfiguration
</UL>

<P><STRONG><a name="[c21ea4]"></a>USB_DisableEP</STRONG> (ARM, 44 bytes, Stack size 12 bytes, usbhw.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = USB_DisableEP</UL>
<BR>[Calls]<UL><LI><a href="#[cd5508]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WrCmdDat
<LI><a href="#[cd55f4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPAdr
</UL>
<BR>[Called By]<UL><LI><a href="#[c2267c]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;USB_SetInterface
<LI><a href="#[c226fc]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;USB_SetConfiguration
</UL>

<P><STRONG><a name="[c21d38]"></a>USB_ResetEP</STRONG> (ARM, 44 bytes, Stack size 12 bytes, usbhw.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = USB_ResetEP</UL>
<BR>[Calls]<UL><LI><a href="#[cd5508]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WrCmdDat
<LI><a href="#[cd55f4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPAdr
</UL>
<BR>[Called By]<UL><LI><a href="#[c2267c]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;USB_SetInterface
<LI><a href="#[c226fc]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;USB_SetConfiguration
</UL>

<P><STRONG><a name="[c21c40]"></a>USB_SetStallEP</STRONG> (ARM, 44 bytes, Stack size 12 bytes, usbhw.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = USB_SetStallEP</UL>
<BR>[Calls]<UL><LI><a href="#[cd5508]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WrCmdDat
<LI><a href="#[cd55f4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPAdr
</UL>
<BR>[Called By]<UL><LI><a href="#[c22780]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;USB_SetClrFeature
<LI><a href="#[c228fc]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;USB_EndPoint0
</UL>

<P><STRONG><a name="[c2221c]"></a>USB_ClrStallEP</STRONG> (ARM, 44 bytes, Stack size 12 bytes, usbhw.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = USB_ClrStallEP</UL>
<BR>[Calls]<UL><LI><a href="#[cd5508]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WrCmdDat
<LI><a href="#[cd55f4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPAdr
</UL>
<BR>[Called By]<UL><LI><a href="#[c22780]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;USB_SetClrFeature
<LI><a href="#[c228fc]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;USB_EndPoint0
</UL>

<P><STRONG><a name="[c21db0]"></a>USB_ReadEP</STRONG> (ARM, 176 bytes, Stack size 24 bytes, usbhw.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = USB_ReadEP</UL>
<BR>[Calls]<UL><LI><a href="#[cd5580]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WrCmd
<LI><a href="#[cd55f4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPAdr
<LI><a href="#[10ed048]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_uwrite4
</UL>
<BR>[Called By]<UL><LI><a href="#[c22978]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;USB_StatusOutStage
<LI><a href="#[c22a78]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;USB_DataOutStage
<LI><a href="#[c22b74]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;USB_SetupStage
</UL>

<P><STRONG><a name="[c21ac8]"></a>USB_WriteEP</STRONG> (ARM, 144 bytes, Stack size 24 bytes, usbhw.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = USB_WriteEP</UL>
<BR>[Calls]<UL><LI><a href="#[cd5580]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WrCmd
<LI><a href="#[cd55f4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EPAdr
<LI><a href="#[10ed4b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_uread4
</UL>
<BR>[Called By]<UL><LI><a href="#[c22020]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;USB_Configure_Event
<LI><a href="#[c229f8]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;USB_StatusInStage
<LI><a href="#[c22af8]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;USB_DataInStage
<LI><a href="#[d05ca0]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;USB_EndPoint1
</UL>

<P><STRONG><a name="[cd50d0]"></a>USB_GetFrame</STRONG> (ARM, 48 bytes, Stack size 4 bytes, usbhw.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[cd5490]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RdCmdDat
<LI><a href="#[cd5580]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WrCmd
</UL>

<P><STRONG><a name="[cd4fdc]"></a>USB_Reset_Event</STRONG> (ARM, 16 bytes, Stack size 8 bytes, usbuser.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[c22bf0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USB_ResetCore
</UL>
<BR>[Called By]<UL><LI><a href="#[cd52b4]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;USB_ISR
</UL>

<P><STRONG><a name="[c22020]"></a>USB_Configure_Event</STRONG> (ARM, 48 bytes, Stack size 8 bytes, usbuser.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = USB_Configure_Event -> USB_WriteEP</UL>
<BR>[Calls]<UL><LI><a href="#[c21ac8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USB_WriteEP
<LI><a href="#[d05560]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GetInReport
</UL>
<BR>[Called By]<UL><LI><a href="#[c228fc]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;USB_EndPoint0
</UL>

<P><STRONG><a name="[d05ca0]"></a>USB_EndPoint1</STRONG> (ARM, 52 bytes, Stack size 8 bytes, usbuser.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = USB_EndPoint1 -> USB_WriteEP</UL>
<BR>[Calls]<UL><LI><a href="#[c21ac8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USB_WriteEP
<LI><a href="#[d05560]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GetInReport
</UL>
<BR>[Address Reference Count : 1]<UL><LI> usbuser.o(.constdata)
</UL>
<P><STRONG><a name="[d05c24]"></a>USB_EndPoint2</STRONG> (ARM, 4 bytes, Stack size 0 bytes, usbuser.o(.text), UNUSED)

<P><STRONG><a name="[d05ba8]"></a>USB_EndPoint3</STRONG> (ARM, 4 bytes, Stack size 0 bytes, usbuser.o(.text), UNUSED)

<P><STRONG><a name="[d05b2c]"></a>USB_EndPoint4</STRONG> (ARM, 4 bytes, Stack size 0 bytes, usbuser.o(.text), UNUSED)

<P><STRONG><a name="[d05ab0]"></a>USB_EndPoint5</STRONG> (ARM, 4 bytes, Stack size 0 bytes, usbuser.o(.text), UNUSED)

<P><STRONG><a name="[d05a34]"></a>USB_EndPoint6</STRONG> (ARM, 4 bytes, Stack size 0 bytes, usbuser.o(.text), UNUSED)

<P><STRONG><a name="[d059b8]"></a>USB_EndPoint7</STRONG> (ARM, 4 bytes, Stack size 0 bytes, usbuser.o(.text), UNUSED)

<P><STRONG><a name="[d0593c]"></a>USB_EndPoint8</STRONG> (ARM, 4 bytes, Stack size 0 bytes, usbuser.o(.text), UNUSED)

<P><STRONG><a name="[d058c0]"></a>USB_EndPoint9</STRONG> (ARM, 4 bytes, Stack size 0 bytes, usbuser.o(.text), UNUSED)

<P><STRONG><a name="[d05844]"></a>USB_EndPoint10</STRONG> (ARM, 4 bytes, Stack size 0 bytes, usbuser.o(.text), UNUSED)

<P><STRONG><a name="[d057c8]"></a>USB_EndPoint11</STRONG> (ARM, 4 bytes, Stack size 0 bytes, usbuser.o(.text), UNUSED)

<P><STRONG><a name="[d0574c]"></a>USB_EndPoint12</STRONG> (ARM, 4 bytes, Stack size 0 bytes, usbuser.o(.text), UNUSED)

<P><STRONG><a name="[d056d0]"></a>USB_EndPoint13</STRONG> (ARM, 4 bytes, Stack size 0 bytes, usbuser.o(.text), UNUSED)

<P><STRONG><a name="[d05654]"></a>USB_EndPoint14</STRONG> (ARM, 4 bytes, Stack size 0 bytes, usbuser.o(.text), UNUSED)

<P><STRONG><a name="[d055d8]"></a>USB_EndPoint15</STRONG> (ARM, 4 bytes, Stack size 0 bytes, usbuser.o(.text), UNUSED)

<P><STRONG><a name="[c2250c]"></a>HID_GetReport</STRONG> (ARM, 108 bytes, Stack size 8 bytes, hiduser.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = HID_GetReport</UL>
<BR>[Calls]<UL><LI><a href="#[d05560]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GetInReport
</UL>
<BR>[Called By]<UL><LI><a href="#[c228fc]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;USB_EndPoint0
</UL>

<P><STRONG><a name="[c22298]"></a>HID_SetReport</STRONG> (ARM, 108 bytes, Stack size 8 bytes, hiduser.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = HID_SetReport</UL>
<BR>[Calls]<UL><LI><a href="#[d0166c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SetOutReport
</UL>
<BR>[Called By]<UL><LI><a href="#[c228fc]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;USB_EndPoint0
</UL>

<P><STRONG><a name="[c22604]"></a>HID_GetIdle</STRONG> (ARM, 32 bytes, Stack size 0 bytes, hiduser.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[c228fc]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;USB_EndPoint0
</UL>

<P><STRONG><a name="[c22390]"></a>HID_SetIdle</STRONG> (ARM, 32 bytes, Stack size 0 bytes, hiduser.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[c228fc]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;USB_EndPoint0
</UL>

<P><STRONG><a name="[c22588]"></a>HID_GetProtocol</STRONG> (ARM, 24 bytes, Stack size 0 bytes, hiduser.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[c228fc]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;USB_EndPoint0
</UL>

<P><STRONG><a name="[c22314]"></a>HID_SetProtocol</STRONG> (ARM, 24 bytes, Stack size 0 bytes, hiduser.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[c228fc]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;USB_EndPoint0
</UL>

<P><STRONG><a name="[d05560]"></a>GetInReport</STRONG> (ARM, 48 bytes, Stack size 0 bytes, demo.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[c22020]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;USB_Configure_Event
<LI><a href="#[c2250c]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;HID_GetReport
<LI><a href="#[d05ca0]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;USB_EndPoint1
</UL>

<P><STRONG><a name="[d0166c]"></a>SetOutReport</STRONG> (ARM, 28 bytes, Stack size 0 bytes, demo.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[c22298]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;HID_SetReport
</UL>

<P><STRONG><a name="[cfe4b8]"></a>main</STRONG> (ARM, 48 bytes, Stack size 8 bytes, demo.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = main -> USB_Init -> USB_SetAddress</UL>
<BR>[Calls]<UL><LI><a href="#[cd51c4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USB_Connect
<LI><a href="#[cd523c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USB_Init
</UL>
<BR>[Address Reference Count : 1]<UL><LI> kernel.o(.text)
</UL>
<P><STRONG><a name="[10ed4b0]"></a>__aeabi_uread4</STRONG> (ARM, 0 bytes, Stack size 0 bytes, uread4.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[c21ac8]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;USB_WriteEP
</UL>

<P><STRONG><a name="[10ed438]"></a>__rt_uread4</STRONG> (ARM, 32 bytes, Stack size 0 bytes, uread4.o(.text), UNUSED)

<P><STRONG><a name="[10ed048]"></a>__aeabi_uwrite4</STRONG> (ARM, 0 bytes, Stack size 0 bytes, uwrite4.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[c21db0]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;USB_ReadEP
</UL>

<P><STRONG><a name="[10ecfcc]"></a>__rt_uwrite4</STRONG> (ARM, 32 bytes, Stack size 0 bytes, uwrite4.o(.text), UNUSED)

<P><STRONG><a name="[10eca24]"></a>__use_two_region_memory</STRONG> (ARM, 4 bytes, Stack size 0 bytes, stkheap2.o(.text), UNUSED)

<P><STRONG><a name="[10ec99c]"></a>__rt_stackheap_init</STRONG> (ARM, 60 bytes, Stack size 24 bytes, stkheap2.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 32 + Unknown Stack Size
<LI>Call Chain = __rt_stackheap_init -> __user_setup_stackheap</UL>
<BR>[Calls]<UL><LI><a href="#[10ea4a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_stackheap_storage
<LI><a href="#[10eafa4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__user_setup_stackheap
</UL>
<BR>[Called By]<UL><LI><a href="#[10eb944]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;__rt_entry
</UL>

<P><STRONG><a name="[10ec914]"></a>__rt_heap_extend</STRONG> (ARM, 24 bytes, Stack size 8 bytes, stkheap2.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[10ecaf8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__user_heap_extend (Weak Reference)
</UL>

<P><STRONG><a name="[10eb944]"></a>__rt_entry</STRONG> (ARM, 76 bytes, Stack size 16 bytes, kernel.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 64 + Unknown Stack Size
<LI>Call Chain = __rt_entry -> __rt_lib_init -> _fp_init</UL>
<BR>[Calls]<UL><LI><a href="#[10e3d7c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_platform_post_lib_init
<LI><a href="#[10e41d0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_platform_post_stackheap_init
<LI><a href="#[10e5a08]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_lib_init (via Veneer)
<LI><a href="#[10e8b94]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;exit (via BX)
<LI><a href="#[10ec99c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_stackheap_init
</UL>
<BR>[Called By]<UL><LI><a href="#[10ec2e4]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;__main
<LI><a href="#[1144808]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;__scatterload_rt2
</UL>

<P><STRONG><a name="[10eb7fc]"></a>__rt_exit</STRONG> (ARM, 20 bytes, Stack size 8 bytes, kernel.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = __rt_exit -> __rt_lib_shutdown</UL>
<BR>[Calls]<UL><LI><a href="#[10e59b8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_lib_shutdown (via Veneer)
</UL>
<BR>[Called By]<UL><LI><a href="#[10e8b94]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;exit (via Veneer)
</UL>

<P><STRONG><a name="[10eb784]"></a>__rt_abort</STRONG> (ARM, 8 bytes, Stack size 0 bytes, kernel.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[10e976c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_sys_exit
</UL>

<P><STRONG><a name="[10eafa4]"></a>__user_setup_stackheap</STRONG> (ARM, 96 bytes, Stack size 8 bytes, sys_stackheap_outer.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8 + Unknown Stack Size
<LI>Call Chain = __user_setup_stackheap</UL>
<BR>[Calls]<UL><LI><a href="#[c27f90]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__user_initial_stackheap
<LI><a href="#[10e9290]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__user_perproc_libspace
</UL>
<BR>[Called By]<UL><LI><a href="#[10ec99c]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;__rt_stackheap_init
</UL>

<P><STRONG><a name="[10ea4a0]"></a>__rt_stackheap_storage</STRONG> (ARM, 12 bytes, Stack size 0 bytes, rt_stackheap_storage_intlibspace.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[10ec99c]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;__rt_stackheap_init
</UL>

<P><STRONG><a name="[10e976c]"></a>_sys_exit</STRONG> (ARM, 20 bytes, Stack size 0 bytes, sys_exit.o(.text), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[10eb784]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;__rt_abort
</UL>

<P><STRONG><a name="[10e9168]"></a>__user_libspace</STRONG> (ARM, 8 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED)

<P><STRONG><a name="[10e9290]"></a>__user_perproc_libspace</STRONG> (ARM, 0 bytes, Stack size 0 bytes, libspace.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[10eafa4]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;__user_setup_stackheap
</UL>

<P><STRONG><a name="[10e9208]"></a>__user_perthread_libspace</STRONG> (ARM, 0 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED)

<P><STRONG><a name="[10e8b94]"></a>exit</STRONG> (Thumb, 24 bytes, Stack size 8 bytes, exit.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = exit -> __rt_exit -> __rt_lib_shutdown</UL>
<BR>[Calls]<UL><LI><a href="#[10e8a44]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_call_atexit_fns (Weak Reference)
<LI><a href="#[10e8ac4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__ARM_stackcheck (Weak Reference)
<LI><a href="#[10eb7fc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_exit (via Veneer)
</UL>
<BR>[Called By]<UL><LI><a href="#[10eb944]">&lt;&lt;</a>&nbsp;&nbsp;&nbsp;__rt_entry
</UL>

<P><STRONG><a name="[10e5a08]"></a>__rt_lib_init</STRONG> (Thumb, 188 bytes, Stack size 40 bytes, lib_init.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = __rt_lib_init -> _fp_init</UL>
<BR>[Calls]<UL><LI><a href="#[10e26bc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_locale (via Veneer)
<LI><a href="#[10e4f88]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_signal_init (Weak Reference)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -