symbol keynum multiply defined (by main.c and key.c)not enough information to list image symbols

### Keil MDK5 编译时出现 L6200E 错误的分析与解决方案 在使用 Keil MDK5 进行嵌入式软件开发的过程中,编译器报告 `L6200E: Symbol multiply defined` 是一种常见的链接错误。这类问题通常表明某个符号(如变量或函数)在同一工程中有多个定义,违反了 C 语言的一次定义规则(One Definition Rule, ODR)。以下是对此类问题的具体分析和解决方法。 --- #### **1. 符号多重定义的根本原因** - **全局变量多次声明** 如果同一个全局变量在多个源文件中被显式初始化,则会导致多重定义问题。例如,在两个不同的 `.c` 文件中都包含以下代码: ```c int global_var = 10; // 初始化语句会在每个文件中生成独立的定义 ``` - **头文件保护机制缺失** 头文件中未正确使用宏保护(include guards),可能导致同一符号被多次引入到不同模块中。例如: ```c // 不带 include guard 的 header.h extern int shared_var; int shared_var = 0; // 定义了一个共享变量 ``` - **静态库冲突** 如果项目依赖的静态库中已经包含了某符号的定义,而在用户代码中又重新定义了相同的符号,则也会触发此错误[^3]。 - **内存映射配置不当** 在某些情况下,硬件抽象层(HAL)或其他驱动程序可能预设了特定地址空间内的数据结构。如果用户的自定义符号与其发生冲突,则可能出现类似错误[^4]。 --- #### **2. 解决方案** ##### 方法一:检查全局变量的定义方式 确保所有全局变量仅在一个地方定义,并通过 `extern` 关键字在其他文件中引用它。例如: ```c // main.c 中定义全局变量 int global_var = 10; // key.c 中引用该变量 extern int global_var; void use_global() { printf("%d\n", global_var); } ``` ##### 方法二:完善头文件防护机制 为防止重复包含头文件,应在每个 `.h` 文件顶部加入宏保护: ```c #ifndef HEADER_H_ #define HEADER_H_ extern int shared_var; #endif /* HEADER_H_ */ ``` 这样即使某个头文件被多次包含也不会导致重复定义[^3]。 ##### 方法三:清理多余的目标文件 有时旧的目标文件残留也可能引发此类问题。建议删除整个 `\Obj` 目录后再重新编译整个工程项目: ```bash rm -rf ./Obj/* ``` ##### 方法四:调整内存分配策略 对于涉及特殊地址映射的操作(如中断向量表、堆栈指针等),应仔细核对其起始地址是否与其他资源冲突。必要时可通过修改链接脚本或将符号绑定到新的地址来规避冲突。例如: ```c __IO uint32_t VectorTable[100] __attribute__((at(0x20000100))); ``` 此处将 `VectorTable` 数组强制放置在 SRAM 地址 `0x20000100` 开始的位置,避免与其他符号争用默认区域[^4]。 ##### 方法五:排查第三方库的影响 如果项目集成了外部库,请确认其中不存在与现有代码重叠的部分。可以尝试暂时禁用部分功能模块逐一排除干扰因素。 --- #### **3. 示例修正过程** 假设当前工程存在以下两处冲突定义: - `main.c`: `int keynum = 42;` - `key.c`: `int keynum = 84;` 此时只需保留其中一个定义即可解决问题。推荐做法是在单一文件中集中管理公共常量值,其余地方均采用只读访问模式: ```c // constants.h #ifndef CONSTANTS_H_ #define CONSTANTS_H_ #define KEYNUM_VALUE 42 #endif /* CONSTANTS_H_ */ // main.c #include "constants.h" const int keynum = KEYNUM_VALUE; // key.c #include "constants.h" void print_keynum() { printf("Key number is %d.\n", KEYNUM_VALUE); } ``` --- ###

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

Python内容推荐

《数据挖掘:理论、方法与实践基于Python语言》全套PPT课件2026(中国地质大学)

《数据挖掘:理论、方法与实践基于Python语言》全套PPT课件2026(中国地质大学)

《数据挖掘:理论、方法与实践基于Python语言》全套PPT课件2026(中国地质大学)

TMS320C6000 Assembly Language Tools User Guider

TMS320C6000 Assembly Language Tools User Guider

The TMS320C6000 Assembly Language Tools User's Guide explains how to use these assembly language tools: · Assembler · Archiver · Linker · Absolute lister · Cross-reference lister · Disassembler · Object file display utility · Name utility · Strip utility · Hex conversion utility

Loving Lisp

Loving Lisp

只有60页的 LISP ( COMMON LISP)简介, 英文, PDF 格式, LINUX 上无乱码(这个试过,但不保证)。 可以做为时间紧而要了解 LISP 的一种选择读物。 作者 是个程序员, 这个小册子写得不能说"出色", 但也不像市面上大多数作者一样--没经验还硬写、乱写。 而且, 作者允许您不付钱的阅读。<br>全名:"Loving Lisp, or the Savvy Programmer's Secret Weapon"<br>BY: Mark Watson<br>

Matters Computational ideas, algorithms, source code

Matters Computational ideas, algorithms, source code

This is a book for the computationalist, whether a working programmer or anyone interested in methods of computation. The focus is on material that does not usually appear in textbooks on algorithms. Where necessary the underlying ideas are explained and the algorithms are given formally. It is assumed that the reader is able to understand the given source code, it is considered part of the text. We use the C++ programming language for low-level algorithms. However, only a minimal set of features beyond plain C is used, most importantly classes and templates. For material where technicalities in the C++ code would obscure the underlying ideas we use either pseudocode or, with arithmetical algorithms, the GP language. Appendix C gives an introduction to GP. Example computations are often given with an algorithm, these are usually made with the demo programs referred to. Most of the listings and gures in this book were created with these programs. A recurring topic is practical eciency of the implementations. Various optimization techniques are described and the actual performance of many given implementations is indicated. The accompanying software, the FXT [20] and the hfloat [21] libraries, are written for POSIX compliant platforms such as the Linux and BSD operating systems. The license is the GNU General Public License (GPL), version 3 or later, see http://www.gnu.org/licenses/gpl.html. Individual chapters are self-contained where possible and references to related material are given where needed. The symbol ` z ' marks sections that can be skipped at rst reading. These typically contain excursions or more advanced material. Each item in the bibliography is followed by a list of page numbers where citations occur. With papers that are available for free download the respective URL is given. Note that the URL may point to a preprint which can di er from the nal version of the paper. The electronic version of this book is available for free anonymous download. It is identical to the printed version. See appendix A for information about the license. Given the amount of material treated there must be errors in this book. Corrections and suggestions for improvement are appreciated, the preferred way of communication is electronic mail. A list of errata is online at http://www.jjj.de/fxt/#fxtbook. Many people helped to improve this book. It is my pleasure to thank them all, particularly helpful were Igal Aharonovich, Max Alekseyev, Marcus Blackburn, Nathan Bullock, Dominique Delande, Mike Engber, Torsten Finke, Sean Furlong, Almaz Gaifullin, Pedro Gimeno, Alexander Glyzov, R. W. Gosper, Andreas Grunbacher, Lance Gurney, Markus Gyger, Christoph Haenel, Tony Hardie-Bick, Laszlo Hars, Thomas Harte, Stephen Hartke, Je Hurchalla, Derek M. Jones, Gideon Klimer, Richard B. Kreckel, Mike Kundmann, Gal Laszlo, Dirk Lattermann, Avery Lee, Brent Lehman, Marc Lehmann, Paul C. Leopardi, John Lien, Mirko Liss, Robert C. Long, Fred Lunnon, Johannes Middeke, Doug Moore, Fabio Moreira, Andrew Morris, David Nalepa, Samuel Neves, Matthew Oliver, Miros law Osys, Christoph Pacher, Krisztian Paczari, Scott Paine, Yves Paradis, Gunther Piez, Andre Piotrowski, David Garca Quintas, Andreas Raseghi, Tony Reix, Johan Ronnblom, Uwe Schmelich, Thomas Schraitle, Clive Scott, Mukund Sivaraman, Michal Staruch, Ralf Stephan, Mikko Tommila, Michael Roby Wether eld, Jim White, Vinnie Winkler, John Youngquist, Rui Zhang, and Paul Zimmermann. Special thanks go to Edith Parzefall and Michael Somos for independently proofreading the whole text (the remaining errors are mine), and to Neil Sloane for creating the On-Line Encyclopedia of Integer Sequences [308].

我的emcs 配置

我的emcs 配置

包行配置文件 把配置文件 放到主目录 .emacs.d 放主目录 安装 cscope 就可以使用了

Bochs - The cross platform IA-32 (x86) emulator

Bochs - The cross platform IA-32 (x86) emulator

Changes in 2.4.6 (February 22, 2011): Brief summary : - Support more host OS to run on: - Include win64 native binary in the release. - Fixed failures on big endian hosts. - BIOS: Support for up to 2M ROM BIOS images. - GUI: select mouse capture toggle method in .bochsrc. - Ported most of Qemu's 'virtual VFAT' block driver (except runtime write support, but plus FAT32 suppport) - Added write protect option for floppy drives. - Bugfixes / improved internal debugger + instrumentation. Detailed change log : - CPU and internal debugger - Implemented Process Context ID (PCID) feature - Implemented FS/GS BASE access instructions support (according to document from http://software.intel.com/en-us/avx/) - Rewritten from scratch SMC detection algorithm - Implemented fine-grained SMC detection (on 128 byte granularity) - Bugfixes for CPU emulation correctness and stability - Fixed failures on Big Endian hosts ! - Print detailed page walk information and attributes in internal debugger 'page' command - Updated/Fixed instrumentation callbacks - Configure and compile - Bochs now can be compiled as native Windows x86-64 application (tested with Mingw gcc 4.5.1 and Microsoft Visual Studio Express 2010) - Added ability to configure CPUID stepping through .bochsrc. The default stepping value is 3. - Added ability to disable MONITOR/MWAIT support through .bochsrc CPUID option. The option is available only if compiled with --enable-monitor-mwait configure option. - Determine and select max physical address size automatically at configure time: - 32-bit physical address for 386/486 guests - 36-bit physical address for PSE-36 enabled Pentium guest - 40-bit physical address for PAE enabled P6 or later guests - Update config.guess/config.sub scripts to May 2010 revisions. - Update Visual Studio 2008 project files in build/win32/vs2008ex-workspace.zip - Added Bochs compilation timestamp after Bochs version string. - GUI and display libraries (Volker) - Added new .bochsrc option to select mouse capture toggle method. In addition to the default Bochs method using the CTRL key and the middle mouse button there are now the choices: - CTRL+F10 (like DOSBox) - CTRL+ALT (like QEMU) - F12 (replaces win32 'legacyF12' option) - display library 'x' now uses the desktop size for the maximum guest resolution - ROM BIOS - Support for up to 2M ROM BIOS images - I/O Devices - 3 new 'pseudo device' plugins created by plugin separation (see below) - Fixes for emulated DHCP in eth_vnet (patch from @SF tracker) - Added support for VGA graphics mode with 400 lines (partial fix for SF bug #2948724) - NE2K: Fixed "send buffer" command issue on big endian hosts - USB - converted common USB code plus devices to the new 'usb_common' plugin Now the USB device classes no longer exist twice if both HC plugins are loaded. - added 'pseudo device' in common USB code for the device creation. This makes the HCs independent from the device specific code. - USB MSD: added support for disk image modes (like ATA disks) - USB printer: output file creation failure now causes a disconnect - re-implemented "options" parameter for additional options of connected devices (currently only used to set the speed reported by device and to specify an alternative redolog file of USB MSD disk image modes) - hard drive - new disk image mode 'vvfat' - ported the read-only part of Qemu's 'virtual VFAT' block driver - additions: configurable disk geometry, FAT32 support, read MBR and/or boot sector from file, volatile write support using hdimage redolog_t class, optional commit support on Bochs exit, save/restore file attributes, 1.44 MB floppy support, set file modification date/time - converted the complete hdimage stuff to the new 'hdimage' plugin - new hdimage method get_capabilities() that can return special flags - vmware3, vmware4 and vvfat classes now return HDIMAGE_HAS_GEOMETRY flag - other disk image modes by default return HDIMAGE_AUTO_GEOMETRY if cylinder value is set to 0 - multiple sector read/write support for some image modes - new log prefix "IMG" for hdimage messages - floppy - added write protect option for floppy drives (based on @SF patch by Ben Lunt) - vvfat support - bugfix: close images on exit - SB16 - converted the sound output module stuff to the new 'soundmod' plugin - SF patches applied [3164945] hack to compile under WIN64 by Darek Mihocka and Stanislav [3164073] Fine grain SMC invalidation by Stanislav [1539417] write protect for floppy drives by Ben Lunt [2862322] fixes for emulated DHCP in eth_vnet - these S.F. bugs were closed/fixed [2588085] Mouse capture [3140332] typo in mf3/ps2 mapping of BX_KEY_CTRL_R [3111577] No "back" option in log settings [3108422] Timing window in NE2K emulation [3084390] Bochs won't load floppy plugin right on startup [3043174] Docbook use of '_' build failure [3085140] Ia_arpl_Ew_Rw definition of error [3078995] ROL/ROR/SHL/SHR modeling wrong when dest reg is 32 bit [2864794] BX_INSTR_OPCODE in "cpu_loop" causes crash in x86_64 host [2884071] [AIX host] prefetch: EIP [00010000] > CS.limit [0000ffff] [3053542] 64 bit mode: far-jmp instruction is error [3011112] error compile vs2008/2010 with X2APIC [3002017] compile error with vs 2010 [3009767] guest RFLAGS.IF blocks externel interrupt in VMX guest mode [2964655] VMX not enabled in MSR IA32_FEATURE_CONTROL [3005865] IDT show bug [3001637] CMOS MAP register meaning error [2994370] Cannot build with 3DNow support - these S.F. feature requests were closed/implemented [1510142] Native Windows XP x64 Edition binary [1062553] select mouse (de)activation in bochsrc [2930633] legacy mouse capture key : not specific enough [2930679] Let user change mouse capture control key [2803538] Show flags for pages when using "info tab" ------------------------------------------------------------------------- Changes in 2.4.5 (April 25, 2010): Brief summary : - Major configure/cpu rework allowing to enable/disable CPU options at runtime through .bochsrc (Stanislav) - Bugfixes for CPU emulation correctness and stability - Implemented X2APIC extensions (Stanislav) - Implemented Intel VMXx2 extensions (Stanislav) - Extended VMX capability MSRs, APIC Virtualization, X2APIC Virtualization, Extended Page Tables (EPT), VPID, Unrestricted Guests, new VMX controls. - Implemented PCLMULQDQ AES instruction - Extended Bochs internal debugger functionality - USB HP DeskJet 920C printer device emulation (Ben Lunt) Detailed change log : - Configure rework - Deprecate --enable-popcnt configure option. POPCNT instruction will be enabled automatically iff SSE4_2 is supported (like in hardware). - Make --ignore-bad-msrs runtime option in .bochsrc. Old --ignore-bad-msrs configure option is deprecated and should not be used anymore. - Enable changing part of CPU functionality at runtime through .bochsrc. - Now you could enable/disable any of SSEx/AES/MOVBE/SYSENTER_SYSEXIT/XSAVE instruction sets using new CPUID option in .bochsrc. - When x86-64 support is compiled in, you could enable/disable long mode 1G pages support without recompile using new CPUID option in .bochsrc. Configure options: --enable-mmx, --enable-sse, --enable-movbe, --enable-xsave, --enable-sep, --enable-aes, --enable-1g-pages are deprecated and should not be used anymore. - Local APIC configure option --enable-apic is deprecated and should not be used anymore. The LAPIC option now automatically determined from other configure options. XAPIC functionality could be enabled using new CPUID .bochsrc option. - Changed default CPU configuration (generated by configure script with default options) to BX_CPU_LEVEL=6 with SSE2 enabled. - CPU - Implemented PCLMULQDQ AES instruction - Implemented X2APIC extensions / enable extended topology CPUID leaf (0xb), in order to enable X2APIC configure with --enable-x2apic - Implemented Intel VMXx2 extensions: - Enabled extended VMX capability MSRs - Implemented VMX controls for loading/storing of MSR_PAT and MSR_EFER - Enabled/Implemented secondary proc-based vmexec controls: - Implemented APIC virtualization - Implemented Extended Page Tables (EPT) mode - Implemented Descriptor Table Access VMEXIT control - Implemented RDTSCP VMEXIT control - Implemented Virtualize X2APIC mode control - Implemented Virtual Process ID (VPID) - Implemented WBINVD VMEXIT control - Implemented Unrestricted Guest mode In order to enable emulation of VMXx2 extensions configure with --enable-vmx=2 option (x86-64 must be enabled) - Bugfixes for CPU emulation correctness - Fixed Bochs crash when accessing the first byte above emulated memory size - Internal Debugger - Introduced range read/write physical watchpoints - Allow reloading of segment registers from internal debugger - Improved verbose physical memory access tracing - BIOS - Fix MTRR configuration (prevented boot of modern Linux kernels) - Fix interrupt vectors for INT 60h-66h (reserved for user interrupt) by setting them to zero - Fix BIOS INT13 function 08 when the number of cylinders on the disk = 1 - I/O Devices - USB HP DeskJet 920C printer device emulation (Ben Lunt) - Misc - Updated Bochs TESTFORM to version 0.5 - SF patches applied [2864402] outstanding x2apic patches by Stanislav [2960379] Fix build with -Wformat -Werror=format-security by Per Oyvind Karlsen [2938273] allow instrumentation to change execute by Konrad Grochowski [2926072] Indirection operators in expressions by Derek Peschel [2914433] makesym.perl misses symbols by John R. Jackson [2908481] USB Printer by Ben Lunt - these S.F. bugs were closed/fixed [2861662] dbg_xlate_linear2phy needs to be updated [2956217] INT13 AH=8 returns wrong values when cylinders=1 [2981161] Allow DMA transfers to continue when CPU is in HALT state [2795115] NX fault could be missed [2964824] bad newline sequence in aspi-win32.h [913419] configure options and build process needs some work [2938398] gdbstub compile error with x86_64 enabled [2734455] shutdown/reset type 05 should reinit the PICs [1921294] extended memory less than 1M wrong size [1947249] BX_USE_EBDA_TABLES and MP table placement [1933859] BX_USE_EBDA_TABLES and memory overlapping [2923680] "help dregs" is a syntax error [2919661] CPU may fail to do 16bit near call [2790768] Memory corruption with SMP > 32, Panic BIOS Keyboard Error [2902118] interrupts vectors 0x60 to 67 should be NULL ! [2912502] Instruction Pointer behaving erratically [2901047] Bochs crashed, closed by guest os [2905385] Bochs crash [2901481] Instruction SYSRET and SS(PL) [2900632] Broken long mode RETF to outer priviledge with null SS [1429011] Use bx_phyaddr_t for physaddr vars and bx_adress for lin adr - these S.F. feature requests were closed/implemented [2955911] RPM preuninstall scriptlet removes /core [2947863] don't abort on unrecognised options [2878861] numerics in the disassembler output [2900619] make more CPU state changeable ------------------------------------------------------------------------- Changes in 2.4.2 (November 12, 2009): - CPU and internal debugger - VMX: Implemented TPR shadow VMEXIT - Bugfixes for CPU emulation correctness (mostly for VMX support). - Bugfixes and updates for Bochs internal debugger - On SMP system stepN command now affects only current processor - Memory - Bugfixes for > 32-bit physical address space. - Allow to emulate more physical memory than host actually could or would like to allocate. For more details look for new .bochsrc 'memory' option. - Cleanup configure options - All paging related options now will be automatically determined according to --enable-cpu-level option. Related configure options --enable-global-pages, --enable-large-pages, --enable-pae, --enable-mtrr are deprecated now. Only 1G paging option still remaining unchanged. - Deprecate --enable-daz configure option. Denormals-are-zeros MXCSR control will be enabled automatically iff SSE2 is supported (like in hardware). - Deprecate --enable-vme configure option, now it will be supported iff CPU_LEVEL >= 5 (like in hardware). - I/O Devices - Bugfixes for 8254 PIT, VGA, Cirrus-Logic SVGA, USB UCHI - SF patches applied [2817840] Make old_callback static by Mark Marshall [2874004] fix for VMWRITE instruction by Roberto Paleari [2873999] fix CS segment type during fast syscall invocation by Roberto Paleari [2864389] Debugger gui maximize on startup by Thomas Nilsen [2817868] Rework loops in the memory code by Mark Marshall [2812948] PIT bug by Derek - these S.F. bugs were closed/fixed [2833504] GUI debugger bug-about GDT display [2872244] BIOS writes not allowed value to MTRR MSR causing #GP [2885383] SDL GUI memory leak [2872290] compilation in AIX5.3 ML10 failes [2867904] crash with cirrus bx_vga_c::mem_write [2851495] BIOS PCI returns with INT flag = 0 [2860333] vista 64 guest STOP 109 (GDT modification) [2849745] disassembler bug for 3DNow and SSE opcodes [1066748] Wrong registers values after #RESET, #INIT [2836893] Regression: Windows XP installer unable to format harddrive [2812239] VMX: VM-Exit: Incorrect instruction length on software int [2814130] bx_debug lex/yacc files incorrectly generated [2813199] MP Tables Missing From BIOS [2824093] VMX exception bug [2811909] VMX : CS Access-rights Type.Accessed stays 0 [2810571] Compile Errors on OSX [2823749] GCC regression or VM_EXIT RDMSR/WRMSR bug [2815929] Vista/XP64 unnecessary panic [2803519] Wrong example in man page bochsrc - these S.F. feature requests were closed/implemented [422766] Large Memory configurations [1311287] Idea for a better GUI [455971] USB support [615363] debugger shortcut for repeat last cmd ------------------------------------------------------------------------- Changes in 2.4.1 (June 7, 2009): - Fixed bunch of CPUID issues - Bochs is now able to install and boot 64-bit Windows images! (special thanks to Mark Ebersole for his patch) - Several bugfixes in CPU emulation (mostly for x87 instructions) - Fixed two critical deadlock bugs in the Win32 gui (patches from @SF tracker) - Fixes related to the 'show ips' feature - removed conflicting win32-specific alarm() functions ('win32' and 'sdl' gui) - feature now works in wx on win32 - Added support for gdb stub on big endian machine (patch by Godmar Back) - Rewritten obsolete hash_map code in dbg symbols module (patch from @SF) - BIOS: implemented missing INT 15h/89h (patch by Sebastian Herbszt) ------------------------------------------------------------------------- Changes in 2.4 (May 3, 2009): Brief summary : - Added graphical Bochs debugger frontend for most of the supported platforms. - Thanks for Chourdakis Michael and Bruce Ewing. - Many new CPU features in emulation - Support for > 32 bit physical address space and configurable MSRs - VMX, 1G pages in long mode, MOVBE instruction - Bugfixes for CPU emulation correctness, debugger and CPU instrumentation. - New config interface 'win32config' with start and runtime menu - USB: added OHCI support, external hub and cdrom - Added user plugin interface support. Detailed change log : - CPU and internal debugger - Support for VMX hardware emulation in Bochs CPU, to enable configure with --enable-vmx option Nearly complete VMX implementation, with few exceptions: - Dual-monitor treatment of SMIs and SMM not implemented yet - NMI virtualization, APIC virtualization not implemented yet - VMENTER to not-active state not supported yet - No advanced features like Extended Page Tables or VPID - Support for configurable MSR registers emulation, to enable configure with --enable-configurable-msrs option Look for configuration example in .bochsrc and msrs.def - Support new Intel Atom(R) MOVBE instruction, to enable configure with --enable-movbe option - Support for 1G pages in long mode, to enable configure with --enable-1g-pages option - Support for > 32 bit physical address space in CPU. Up to 36 bit could be seen in legacy mode (PAE) and up to 40 bit in x86-64 mode. Still support the same amount of the physical memory in the memory object, so system with > 4Gb of RAM yet cannot be emulated. To enable configure with --enable-long-phy-address option. - Implemented modern BIOSes mode limiting max reported CPUID function to 3 using .bochsrc CPU option. The mode is required in order to correctly install and boot WinNT. - Added ability to configure CPUID vendor/brand strings through .bochsrc (patch from @SF by Doug Reed). - Many bugfixes for CPU emulation correctness (both x86 and x86-64). - Updated CPU instrumentation callbacks. - Fixed Bochs internal debugger breakpoints/watchpoints handling. - Configure and compile - Added ability to choose Bochs log file name and Bochs debugger log file name from Bochs command line (using new -log and -dbglog options) - Removed Peter Tattam's closed source external debugger interface from the code. - Removed --enable-guest2host-tlb configure option. The option is always enabled for any Bochs configuration. - Removed --enable-icache configure option. The option is always enabled for any Bochs configuration. Trace cache support still remains optional and could be configured off. - Added configure option to compile in GUI frontend for Bochs debugger, to enable configure with --enable-debugger-gui option. The GUI debugger frontend is enabled by default with Bochs debugger. - Removed --enable-port-e9-hack configure option. The feature now could be configured at runtime through .bochsrc. - Added configure option to enable/disable A20 pin support. Disabling the A20 pin support slightly speeds up the emulation. - reduced dependencies between source files for faster code generation - BIOS - Added S3 (suspend to RAM) ACPI state to BIOS (patch by Gleb Natapov) - Implemented MTRR support in the bios (patches by Avi Kivity and Alex Williamsion with additions by Sebastian Herbszt) - Bug fixes - I/O Devices - Added user plugin support - remaining devices converted to plugins: pit, ioapic, iodebug - added 'plugin_ctrl' bochsrc option to control the presence of optional device plugins without a separate option. By default all plugins are enabled. - added register mechanism for removable mouse and keyboard devices - Hard drive / cdrom - PACKET-DMA feature now supported by all ATAPI commands - ATAPI command 0x1A added (based on the Qemu implementation) - sb16 - Added ALSA sound support on Linux (PCM/MIDI output) - FM synthesizer now usable with MIDI output (simple piano only) - Fixed OPL frequency to MIDI note translation - Fixed MIDI output command - keyboard - added keyboard controller commands 0xCA and 0xCB - USB - USB code reorganized to support more HC types and devices - added USB OHCI support written by Ben Lunt - added external USB hub support (initial code ported from Qemu) - added USB cdrom support (SCSI layer ported from Qemu) - added status bar indicators to show data transfer - VGA - VBE video memory increased to 16 MB - implemented changeable VBE LFB base address (PCI only, requires latest BIOS and VGABIOS images) - I/O APIC - implemented I/O APIC device hardware reset - Config interface - new config interface 'win32config' with start and runtime menu is now the default on Windows ('textconfig' is still available) - win32 device config dialogs are now created dynamicly from a parameter list (works like the wx ParamDialog) - changes in textcofig and the wx ParamDialog for compatibility with the new win32 dialog behaviour - Bochs param tree index keys are case independent now - some other additions / bugfixes in the simulator interface code - Misc - updated LGPL'd VGABIOS to version 0.6c - Updated Bochs TESTFORM to version 0.4 - SF patches applied [2784858] IO Handler names are not compared properly [2712569] Legacy bios serial data buffer timeout bug by grybranix [2655090] 64 bit BSWAP with REX.W broken by M. Eby [2645919] CR8 bug when reading by M. Eby [1895665] kvm: bios: add support to memory above the pci hole by Izik Eidus [2403372] rombios: check for valid cdrom before using it by Sebastian [2307269] acpi: handle S3 by Sebastian [2354134] TAP networking on Solaris/Sparc repaired [2144692] The scsi device can not complete its writing data command by naiyue [1827082] [PATCH] Configurable CPU vendor by Marcel Sondaar [2217229] Panic on EBDA overflow in rombios32 by Sebastian [2210194] Log pci class code by Sebastian [1984662] red led for disk write and titlebar mod by ggbsf [2142955] Fix for monitor/mwait by Doug Gibson [2137774] Patch to fix bug: cdrom: read_block: lseek returned error by Gabor Olah [2134642] Fix scan_to_scanascii table for F11 and F12 by Ben Guthro & Steve Ofsthun [2123036] sdl fullscreen fix by ggbsf [2073039] Remove CMOS accsess from AML code by Gleb Natapov [2072168] smbios: add L1-L3 cache handle to processor information by Sebastian [2055416] bochsrc cpu options for cpuid vendor and brand string by Doug Reed [2035278] rombios: Fix return from BEV via retf by Sebastian [2035260] rombios: El Torito load segment fix by Sebastian [2031978] Fix VMware backdoor command 0Ah by Jamie Lokier [2015277] Remove obsolete comment about DATA_SEG_DEFS_HERE hack by Sebastian [2011268] Set new default format and unit only if both are supported by Sebastian [2001919] gdbstub: fix qSupported reply by Sebastian [2001912] gdbstub: enclose packet data by apostrophes by Sebastian [1998071] fix missing SIGHUP and SIGQUIT with term ui on mingw by Sebastian [1998063] fix wrong colors with term ui by Sebastian [1995064] Compile fix needed for --enable-debugger and gcc 4.3 by Hans de Goede [1994564] Fix typo in RDMSR BX_MSR_MTRRFIX16K_A0000 by Sebastian [1994396] Change hard_drive_post #if by Sebastian [1993235] TESTFORM email address update by Sebastian [1992322] PATCH: fix compilation of bochs 2.3.7 on bigendian machines by Hans de Goede [1991280] Shutdown status code 0Ch handler by Sebastian [1990108] Shutdown status code 0Bh handler by Sebastian [1988907] Shutdown status code 0Ah handler by Sebastian [1984467] two typos in a release! (2.3.7) [1981505] Init PIIX4 PCI to ISA bridge and IDE by Sebastian - these S.F. bugs were closed/fixed [2784148] an integer overflow BUG of Bochs-2.3.7 source code [2695273] MSVC cpu.dsp failure in 2.3.7.zip [616114] Snapshot/Copy crash on Win2K [2628318] 'VGABIOS-latest' bug [1945055] can't 'make install' lastest bochs on loepard [2031993] Mac OS X Makefile bug [1843199] install error on mac osx [2710931] Problem compiling both instrumentation and debugger [2617003] ExceptionInfo conflicts with OS X api [2609432] stepping causes segfault (CVS) [2605861] compile error with --enable-smp [1757068] current cvs(Jul19, 07) failed to boot smp [2426271] cannot get correct symbol entry [2471982] VGA character height glitches [1659659] wrong behaviour a20 at boot [1998027] minwg + --with-term + --with-out-win32 = link failure [1871936] bochs-2.3.6 make fails on wx.cc [1684666] info idt for long mode [2105989] could not read() hard drive image file at byte 269824 [1173093] Debugger totally not supports x86-64 [1803018] new win32debug dialog problems [2141679] windows vcc build broken [2162824] latest cvs fails to compile [2164506] latest bochs fails to start [2129223] MOV reg16, SS not working in real mode due to dead code [2106514] RIS / startrom.com install ALMOST works [2123358] SMP (HTT): wbinvd executed by CPU1 crashes CPU0 [2002758] Arch Linux: >>PANIC<< ATAPI command with zero byte count [2026501] El Torito incorrect boot segment:offset [2029758] BEV can return via retf instead of int 18h [2010173] x command breaks after one error about x/s or x/i [1830665] harddrv PANIC: ATAPI command with zero byte count [1985387] fail to make using gcc4 with --enable-debugger [1990187] testform feedback [1992138] Misspell in cpu/ia_opcodes.h - these S.F. feature requests were closed/implemented [2175153] Update MSVC project files [658800] front end program and bios [1883370] Make cd and floppy images more usable [422783] change floppy size without restarting [2552685] param tree names should be case insensitive [1214659] PC Speaker emu turnoff. Plugin Controll. [1977045] support 40 bit physical address [1506385] Intel Core Duo VT features [1429015] Support for user plugins [1488136] debugger access to floppy controller [1363136] Full debugger SMP and 64 bit support [2068304] Support for ACPI [431032] debugger "x" command [423420] profiling ideas (SMF) [445342] Add FM support? [928439] alsa ------------------------------------------------------------------------- Changes in 2.3.7 (June 3, 2008): Brief summary : + More optimizations in CPU code - Bochs 2.3.7 is more than 2x faster than Bochs 2.3.5 build ! - Implemented LBA48 support in BIOS - Added memory access tracing for Bochs internal debugger - Implemented Intel(R) XSAVE/XRSTOR and AES instruction set extensions - Many fixes in CPU emulation and internal debugger - MenuetOS64 floppy images booting perfect again ! - updated LGPL'd VGABIOS to version 0.6b Detailed change log : - CPU - Support of XSAVE/XRSTOR CPU extensions, to enable configure with --enable-xsave option - Support of AES CPU extensions, to enable configure with --enable-aes option - Fixed Bochs failure on RISC host machines with BxRepeatSpeedups optimization enabled - Implemented SYSENTER/SYSEXIT instructions in long mode - More than 100 bugfixes for CPU emulation correctness (both x86 and x86-64) - MenuetOS64 floppy images booting perfect again ! - Updated CPU instrumentation callbacks - Bochs Internal Debugger and Disassembler - Added memory access tracing for Bochs internal debugger, enable by typing 'trace-mem on' in debugger command line - Many bug fixes in Bochs internal debugger and disassembler - System BIOS (Volker) - Implemented LBA48 support - Added generation of SSDT ACPI table that contains definitions for available processors - Added RTC device to ACPI DSDT table - Added implementation of SMBIOS - I/O devices (Volker) - VGA - Implemented screen disable bit in sequencer register #1 - Implemented text mode cursor blinking - Serial - new serial modes 'pipe-server' and 'pipe-client' for win32 - new serial mode 'socket-server' - Configure and compile - Fixed configure bug with enabling of POPCNT instruction, POPCNT instruction should be enabled by default when SSE4.2 is enabled. - Removed --enable-magic-breakpoint configure option. The option is automatically enabled if Bochs internal debugger is compiled in. It is still possible to turn on/off the feature through .bochsrc. - Allow boot from network option in .bochsrc - Added Bochs version info for Win32 - Display libraries - implemented text mode character blinking in some guis - improved 'X' gui runtime dialogs - SF patches applied [1980833] Fix shutdown status code 5h handler by Kevin O'Connor [1928848] "pipe" mode for serial port (win32 only) by Eugene Toder [1956843] Set the compatible pci interrupt router back to PIIX by Sebastian [1956366] Do not announce C2 & C3 cpu power state support by Igor Lvovsky [1921733] support for LBA48 by Robert Millan [1938185] Fix link problem with --enable-debugger by Sebastian [1938182] Makefile.in - use @IODEV_LIB_VAR@ by Sebastian [1928945] fix for legacy rombios - e820 map and ACPI_DATA_SIZE by Sebastian [1925578] rombios32.c - fix ram_size in ram_probe for low memory setup by Sebastian [1908921] rombios32.c - move uuid_probe() call by Sebastian [1928902] improvements to load-symbols by Eugene Toder [1925568] PATCH: msvc compilation by Eugene Toder [1913150] rombios.c - e820 cover full size if memory <= 16 mb by Alexander van Heukelum [1919804] rombios.c - fix and add #ifdef comments by Sebastian [1909782] rombios.c - remove segment values from comment by Sebastian [1908918] SMBIOS - BIOS characteristics fix by Sebastian [1901027] BIOS boot menu support (take 3) [1902579] rombios32.c - define pci ids by Sebastian [1859447] Pass segment:offset to put_str and introduce %S by Sebastian [1889057] rombios.c - boot failure message by Sebastian [1891469] rombios.c - print BEV product string by Sebastian [1889851] Win32 version information FILEVERSION for bochs.exe by Sebastian [1889042] rombios.c - fix comment by Sebastian [1881500] bochsrc, allow boot: network by Sebastian [1880755] Win32 version information for bochs.exe by Sebastian [1880471] SMBIOS fix type 0 by Sebastian [1878558] SMBIOS fixes by Sebastian [1864692] SMBIOS support by Filip Navara [1865105] Move bios_table_area_end to 0xcc00 by Sebastian [1875414] Makefile.in - change make use by Sebastian [1874276] Added instrumentation for sysenter/sysexit by Lluis [1873221] TLB page flush: add logical address to instrumentation by Lluis [1830626] lba32 support by Samuel Thibault [1861839] Move option rom scan after floppy and hard drive post by Sebastian [1838283] Early vga bios init by Sebastian [1838272] rom_scan range parameter by Sebastian [1864680] Save CPUID signature by Filip Navara - these S.F. bugs were closed [1976171] Keyboard missing break code for enter (0x9C) [666433] physical read/write breakpoint sometimes fails [1744820] info gdt and info idt shows the entire tables [1755652] graphics: MenuetOS64 shows black screen [1782207] Windows Installer malfunction, Host=Linux, Guest=Win98SE [1697762] OS/2 Warp Install Failed [1952548] String to char * warnings [1940714] SYSENTER/SYSEXIT doesn't work in long mode [1422342] SYSRET errors [1923803] legacy rombios - e820 map and ACPI_DATA_SIZE [1936132] Link problem with --enable-debugger & --enable-disasm [1934477] Linear address wrap is not working [1424984] virtual machine freezes in Bochs 2.2.6 [1902928] with debugger cpu_loop leaves CPU with unstable state [1898929] Bochs VESA BIOS violates specs (banks == 1) [1569256] bug in datasegment change in long mode [1830662] ACPI: no DMI BIOS year, acpi=force is required [1868806] VGA blink enable & screen disable [1875721] Bit "Accessed" in LDT/GDT descriptors & #PF [1874124] bx_Instruction_c::ilen() const [1873488] bochs-2.3.6 make fails on dbg_main.cc - these S.F. feature requests were implemented [1422769] SYSENTER/SYSEXIT support in x86-64 mode [1847955] Version information for bochs(dbg).exe [939797] SMBIOS support ------------------------------------------------------------------------- Changes in 2.3.6 (December 24, 2007): Brief summary : + More than 25% emulation speedup vs Bochs 2.3.5 release! - Thanks to Darek Mihocka (http://www.emulators.com) for providing patches and ideas that made the speedup possible! + Up to 40% speedup vs Bochs 2.3.5 release with trace cache optimization! - Lots of bugfixes in CPU emulation - Bochs benchmarking support - Added emulation of Intel SSE4.2 instruction set Detailed change log : - CPU - Added emulation of SSE4.2 instruction set, to enable use --enable-sse=4 --enable-sse-extension configure options to enable POPCNT instruction only use configure option --enable-popcnt - Implemented MTRR emulation, to enable use --enable-mtrr configure option. MTRRs is enabled by default when cpu-level >= 6. - Implemented experimental MONITOR/MWAIT support including optimized MWAIT CPU state and hardware monitoring of physical address range, to enable use --enable-monitor-mwait configure option. - Removed hostasm optimizations, after Bochs rebenchmarking it was found that the feature bringing no speedup or even sometimes slows down emulation! - Merged trace cache optimization patch, the trace cache optimization is enabled by default when configure with --enable-all-optimizations option, to disable trace cache optimization configure with --disable-trace-cache - Many minor bugfixes in CPU emulation (both ia32 and x86-64) - Updated CPU instrumentation callbacks - Bochs Internal Debugger and Disassembler - Many fixes in Bochs internal debugger and disassembler, some debugger interfaces significantly changed due transition to the param tree architecture - Added support for restoring of the CPU state from external file directly from Bochs debugger - Configure and compile - Renamed configure option --enable-4meg-pages to --enable-large-pages. The option enables page size extensions (PSE) which refers to 2M pages as well. - Removed --enable-save-restore configure option, save/restore feature changed to be one of the basic Bochs features and compiled by default for all configurations. - Added new Bochs benchmark mode. To run Bochs in benchmark mode execute it with new command line option 'bochs -benchmark time'. The emulation will be automatically stopped after 'time' millions of emulation cycles executed. - Another very useful option for benchmarking of Bochs could be enabled using new 'print_timestamps' directive from .bochsrc: print_timestamps: enable=1 - Added --enable-show-ips option to all configuration scripts used to build release binaries, so all future releases will enjoy IPS display. - Enable alignment check in the CPU and #AC exception by default for --cpu-level >= 4 (like in real hardware) - SF patches applied [1491207] Trace Cache Speedup patch by Stanislav [1857149] Define some IPL values by Sebastian [1850183] Get memory access mode in BX_INSTR_LIN_READ by Lluis Vilanova [1841421] pic: keep slave_pic.INT and master_pic.IRQ_in bit 2 in sync by Russ Cox [1841420] give segment numbers in exception logs by Russ Cox [1801696] Allow Intel builds on Mac OS X [1830658] Fix >32GB disk banner by Samuel Thibault [1813314] Move #define IPL_* and typedef ipl_entry by Sebastian [1809001] Save PnP Option ROM Product Name string in IPL Boot Table by Sebastian [1821242] Fix for #1801285, Niclist.exe broken by Sebastian [1819567] Code warning cleanup [1816162] Update comment on bios_printf() by Sebastian [1811139] Trivial Fix when BX_PCIBIOS and BX_ROMBIOS32 not defined by Myles Watson [1811190] Improve HD recognition and CD boot by Myles Watson [1811860] Implement %X in bios_printf by Sebastian [1809649] printf %lx %ld %lu by Myles Watson [1809651] move BX_SUPPORT_FLOPPY by Myles Watson [1809652] dpte and Int13DPT fixes by Myles Watson [1809669] clip cylinders to 16383 in hard drive by Myles Watson [1799903] Build BIOS on amd64 by Robert Millan [1799877] Fix for parallel build (make -j2) by Robert Millan - these S.F. bugs were closed [1837354] website bug: View the Source link broken [1801268] Reset from real mode no longer working [1843250] Using forward slashes gives invalid filename [1823446] BIOS bug, local APIC #0 not detected [1801285] Niclist.exe broken [1364472] breakpoints sometimes don't work [994451] breakpoint bug [1801295] NSIS installer vs Windows Notepad [1715328] Unreal mode quirk [1503972] debugger doesn't debug first instruction on exception [1069071] div al, byte ptr [ds:0x7c18] fails to execute [1800080] Wrong "BX_MAX_SMP_THREADS_SUPPORTED" assertion - these S.F. feature requests were implemented [1662687] Download for Win32-exe with x64 Mode and debugging [604221] Debugger command: query lin->phys mapping ------------------------------------------------------------------------- Changes in 2.3.5 (September 16, 2007): Brief summary : - Critical problems fixed for x86-64 support in CPU and Bochs internal debugger - ACPI support - The release compiled with x86-64 and ACPI - Hard disk emulation supports ATA-6 (LBA48 addressing, UDMA modes) - Added emulation of Intel SSE4.1 instruction set Detailed change log : - CPU - Fixed critical bug with 0x90 opcode (NOP) handling in x86-64 mode - implied stack references where the stack address is not in canonical form should causes a stack exception (#SS) - Added emulation of SSE4.1 instruction set (Stanislav) - Do not save and restore XMM8-XMM15 registers when not in x86-64 mode - Fixed zero upper 32-bit part of GPR in x86-64 mode - CMOV_GdEd should zero upper 32-bit part of GPR register even if the 'cmov' condition was false ! - Implemented CLFLUSH instruction, report non-zero cache size in CPUID - Fixed PUSHA/POPA instructions behavior in real mode - Fixed detection of inexact result by FPU - Fixed denormals-are-zero (DAZ) handling by SSE convert instructions - Implemented Misaligned Exception Mask support for SSE (MXCSR[17]) - Implemented Alignment Check in the CPU and #AC exception, to enable use --enable-alignment-check configure option - General - 2nd simulation support in wxBochs now almost usable (simulation cleanup code added and memory leaks fixed) - Configure and compile - several fixes for MacOSX, OpenBSD and Solaris 10 - enable save/restore feature by default for all configurations - reorganized SSE configure options to match Intel(R) Programming Reference Manual, new option introduced for SSE extensions enabling. To enable Intel Core Duo 2 new instructions use --enable-sse=3 --enable-sse-extension enabling of SSE4.1 (--enable-sse=4) will enable SSE3 extensions as well - removed old PIT, always use new PIT written by Greg Alexander, removed configure option --enable-new-pit - I/O devices (Volker) - Floppy - partial non-DMA mode support (patch by John Comeau) - Hard drive / cdrom - hard disk emulation now supports ATA-6 (LBA48 addressing, UDMA modes) - VMWare version 4 disk image support added (patch by Sharvil Nanavati) - PCI - initial support for the PIIX4 ACPI controller - Serial - added support for 3-button mouse with Mousesystems protocol - USB - experimental USB device change support added - rewrite of the existing USB devices code - new USB devices 'disk' and 'tablet' (ported from the Qemu project) - Bochs internal debugger - fixed broken debugger "rc file" option (execute debugger command from file) - implementation of a gui frontend ("windebug") for win32 started - gdbstub now accepts connection from any host - several documentation updates - a lot of disasm and internal debugger x86_64 support fixes - Configuration interface - fixes and improvements to the save state dialog handling - Display libraries - text mode color handling improved in some guis - win32 fullscreen mode (patch by John Comeau) - System BIOS (Volker) - 32-bit PM BIOS init code for ACPI, PCI, SMP and SMM (initial patches by Fabrice Bellard) - PCI BIOS function "find class code" implemented - SF patches applied [1791000] 15h 8600h is reading the wrong stack frame by Sebastian [1791016] rombios32.c, ram_probe(), BX_INFO missing value by Sebastian [1786429] typo in bochsrc.5 by Sebastian [1785204] Extend acpi_build_table_header to accept a revision number by Sebastian [1766536] Partial Patch for Bug Report 1549873 by Ben Lunt [1763578] ACPI Table Revision 0 -> 1 [1642490] implement alignment check and #AC exception by Stanislav Shwartsman [1695652] [PATCH] .pcap pktlog and vnet PXE boot by Duane Voth [1741153] Add expansion-ROM boot support to the ROMBIOS [1734159] Implemented INT15h, fn 0xC2 (mouse), subfn 3, set resolution [1712970] bios_printf %s fix [1573297] PUSHA/POPA real mode fix by Stanislav Shwartsman [1641816] partial support for non-DMA access to floppy by John Comeau [1624032] shows where write outside of memory occurred by John Comeau [1607793] allow fullscreen when app requests it by John Comeau [1603013] Bugfix for major NOP problem on x64 by mvysin [1600178] Make tap and tuntap compile on OpenBSD by Jonathan Gray [1149659] improve gdbstub network efficiency by Avi Kivity [1554502] Trivial FPU exception handling fix - these S.F. bugs were closed [1316008] Double faults when it shouldn't - gcc 4.0.2 [1787289] broken ABI for redolog class when enable-compressed-hd [1787500] tftp_send_optack not 64bit clean [1264540] Security issue with Bochs website [1767217] Debugger Faults including ud2 [1729822] Various security issues in io device emulation [1675202] mptable hosed (bad entry count in header) [1197141] 'make install' installs to bad location [1157623] x86Solaris10 cannot recoginize ACPI RSD PTR [1768254] large HDD in Bochs/bximage [1496157] Windows Vista Beta2 dosn't boot [1755915] Illegal Hard Disk Signature Output [1717790] info gdt and info idt scrolls away, too long result [1726640] Debugger displays incorrect segment for mov instruction [1719156] Typo in misc_mem.cpp [1715270] Debugger broken in/beyond 2.3 [1689107] v8086 mode priviledge check failed [1704484] A few checks when CPU_LEVEL < 4 [1678395] Problem with zero sector... [876990] SA-RTL OS fails on PIC configuration [1673582] save/restore didn't restore simulation correctly [1586662] EDD int 13h bug, modify eax [666618] POP_A Panic in DOS EMU [1001485] panic: not enough bytes on stack [1667336] delay times an order of magnitude slow [1665601] crash disassembling bootcode [1657065] CVS sources won't compile [1653805] bochs's gdbstub uses incorrect protocol [1640737] ASM sti command frezzes guest OS [1636439] latest CVS sources don't compile under Cygwin [1634357] disasm incorrect (no sign ext) displacement in 64-bit mode [1376453] pcidev segfaults bochs [1180890] IOAPIC in BOCHS - WinXP 64 in MP version [1597528] 2.3 fails to compile on amd64 [1526255] FLD1 broken when compaling with gcc 4.0.x [1597451] eth_fbsd is broken under FreeBSD [1571949] Bochs will not compile under Solaris [1500216] Bochs fails to boot BeOs CD [1458339] bochs-2.2.6 WinXP Binary ACPI error installing FreeBSD 6.0 [1440011] patches needed for FreeBSD 6.0 to compile Bochs [431674] some devices don't have a prefix [458150] QNX demo disk crashes with new pit [818322] Bochs 2.1 cvs: OS/2 - read verify on non disk [906840] KBD: bogus scan codes generated in set 3 [1005053] No keyboard codes translation [1109374] Problem with Scancodeset 2 [1572345] Bochs won't continue [1568153] Bochs looks for (and loads?) unspecified display libraries [1563462] Errors in /iodev/harddrv.h [1562172] TLB_init() fails to initialize priv_check array if USE_TLB 0 [1385303] debugger crashes after panic [1438227] crc.cpp missing in bx_debug version 2.2.6 [1501825] debugger crashes on to high input [1420959] Memory leak + buffer overflow in Bochs debugger [1553289] Error in Dis-assembler [542464] I cannot use FLAT [1548270] Bochs won't die with its pseudo terminal [1545588] roundAndPackFloatx80 does not detect round up correctly ------------------------------------------------------------------------- Changes in 2.3 (August 27, 2006): Brief summary : - limited save/restore support added (config + log options, hardware state) - configuration parameter handling rewritten to a parameter tree - lots of cpu and internal debugger fixes - hard disk geometry autodetection now supported by most of the image types - hard disk emulation now supports ATA-3 (multiple sector transfers) - VBE memory size increased to 8MB and several VGA/VBE fixes - updated LGPL'd VGABIOS to version 0.6a Detailed change log : - CPU and internal debugger fixes - Fixed bug in FSTENV instruction (Stanislav Shwartsman) - Recognize #XF exception (19) when SSE is enabled - Fixed bug in PSRAW/PSRAD MMX and SSE instructions - Save and restore RIP/RSP only for FAULT-type exceptions, not for traps - Correctly decode, disassemble and execute multi-byte NOP '0F F1' opcode - Raise A20 line after system reset (Stanislav Shwartsman) - Implemented SMI and NMI delivery (APIC) and handling in CPU (Stanislav) - Experimental implementation of System Management Mode (Stanislav) - Added emulation of SSE3E instructions (Stanislav Shwarstman) - Save and restore FPU opcode, FIP and FDP in FXSAVE/FRSTOR instructions - Fixed bug in MOVD_EdVd opcode (always generated #UD exception) - Fixed critical issue, Bochs was not supporting > 16 bit LDT.LIMIT values - Many fixes in Bochs internal debugger and disassembler - CPU x86-64 fixes - Fixed SYSRET instruction implementation - Fixed bug in CALL/JMP far through 64-bit callgate in x86-64 mode - Correctly decode, disassemble and execute 'XCHG R8, rAX' instruction - Correctly decode and execute 'BSWAP R8-R15' instructions - Fixed ENTER and LEAVE instructions in x86-64 mode (Stanislav) - Fixed CR4 exception condition (No Name) - Fixed x86 debugger to support x86-64 mode (Stanislav) - APIC and SMP - Support for Dual Core and Intel(R) HyperThreading Technology. Now you could choose amount of cores per processor and amount of HT threads per core from .bochsrc for SMP simulation (Stanislav Shwartsman) - Allow to control SMP quantum value through .bochsrc CPU option parameter. Previous Bochs versions used hardcoded quantum=5 value. - Fixed interrupt priority bug in service_local_apic() - Fixed again reading of APIC IRR/ISR/TMR registers. Finally it becomes fully correct :-) - Configure and compile - Moved configure time --enable-reset-on-triple-fault option to runtime, the 'cpu' option in .bochsrc is extended and the old configure option is deprecated (Stanislav Shwartsman) - Removed --enable-pni configure option, to compile with PNI use --enable-sse=3 instead (Stanislav Shwartsman) - enable SEP (SYSENTER/SYSEXIT) support by default for Penitum II+ processor emulation (i.e. if cpu-level >= 6 and MMX is enabled) - general - Limited save/restore support added. The state of CPU, memory and all devices can be saved now (state of harddisk images not handled yet). - Fixed several memory leaks - configuration interface - Configuration parameter handling rewritten to a parameter tree. This is required for dynamic menus/dialogs, user-defined options and save/restore. - Support for user-defined bochsrc options added - help support at the parameter prompt in textconfig added - I/O devices (Volker) - Floppy - partial sector transfers fixed - Hard drive / cdrom - several fixes to the IDE register behaviour (e.g. in case of a channel with only one drive connected) - fixed data alignment of 'growing' hard drive images (sharing images between Windows and Linux now possible) - disk geometry autodetection now supported by most of the image types (unsupported: external, dll and compressed modes) - multi sector read/write commands implemented - hard disk now reporting ATA-3 supported - ATAPI 'inquiry' now returns a unique device name - Keyboard - reset sent to keyboard has no effect on the 8042 (scancode translation) - PCI - forward PIRQ register changes to the I/O APIC (if present) - attempt to fix and update the emulation part of 'pcidev' (untested) - VGA - VBE memory size increased to 8MB and several VBE fixes - VGA memory read access fixed (bit plane access and read mode) - VGA memory is now a part of the common video memory - System BIOS (Volker) - enable interrupts before executing INT 19h - fixed ATA device detection in case of one drive only connected to controller - improved INT 15h function AX=E820h - real mode PCI BIOS now returns IRQ routing information (function 0Eh) - keyboard LED flags handling fixed and improved - fixed handling of extended keys in INT 09h - Updated LGPL'd VGABIOS to version 0.6a - SF patches applied [1340111] fixes and updates to usb support by Ben Lunt [1539420] minor addition to pci_usb code by Ben Lunt [1455958] call/jmp through call gate in 64-bit mode [1433107] PATCH: fix compile with wxwindows 2.6 (unicode / utf8) by jwrdegoede [1386671] Combined dual core and hyper-threading patch - these S.F. bugs were closed [833927] TTD: System Error TNT.40025: Unexpected processor exception [789230] Sending code that shows lock up when setting idt [909670] Problems with Symantec Ghost [1540241] include missing in osdep.cc [1539373] Incorrect disasm for "mov moffset,bla" in 64bit [1538419] incorrect disassembly of [rip+disp] with rex.b [1535432] shift+cursor key maps to a digit [1504891] Knoopix 5.0.1 error [1424355] bochs-2.2.6 ata failure in windoze 98se [1533979] wrong disassembly of IN instruction [620059] paste won't stop [1164904] status bar doesn't show num/caps/scroll lock status [1061720] ATA Support level for HD [1522196] Broken CHANGES link in main page [1438415] crash if screen scrolled downwards [778441] Shouldn't interrupts be enable after BIOS? [1514949] I got a problem with the 8253 timer [1513544] disasm of 0xec (in AL,DX) returns ilen of 2 instead of 1 [1508947] APIC interrupt priority checking and interrupt delivery [766286] Debugger halts after any GPF exception [639143] va_list is not a pointer on linuxppc [1501815] debugger examines memory over page-boundary wrong [1503978] movsb/w/d doesn't work when direction is stored [1499405] WinPCap has changed URL hosting [1498519] APIC IRR bits not set while interrupts disabled [1498193] Bochs segfaults on LTR instruction [787140] Guest2HostTLB optimization bug [1492070] instrument stop [1487772] No SEP on P4 [1488335] Growing hard disk images severe interoperability errors! [1076312] Shadow RAM and TLB [1282249] The real i440FX chipset Award bios hangs [1479763] mistake "mov ax,[es:di]" for "mov ax,[ds:di]" [1453575] Misconfigured floppy DMA transfers do not terminate. [1460068] Incorrect handling for the Options Menu Item [910203] bochs-2.1.1 wx.lo failed [1438654] PANIC when trying to run install-amd64-minimal-2005.0.iso [1458320] compile hdimage.h fails [1455880] bochs-2.2.6,2: make error on FreeBSD [696890] Network wouldn't run under W2k hosting MSDOS [673391] SMP timer problems [1291059] wxWindows GUI on non-windows/configure issue [1356450] bochs 2.2.1 errors-omittions [1178017] Win98 guest cannot receive network packets from host [1076315] a20_mask after restarting [1436323] real hw does not panic when bad Ib in CMPSS_VssWssIb [1435269] cdrom_amigaos is not compilable [1433314] disasm issues [1170614] relative jumps/calls wrong in debugger [758121] user might get confused when interrupt handler invoked [1170622] You cannot toggle OFF "show" flags [1406387] JMP instruction should display absolute address [1428813] PANIC: ROM address space out of range [1426288] DR-DOSs EMM386 problem [1412036] Bochs cannot recognize PCI NIC correctly [435115] dbg: modebp broken and no docs [1419366] disasm cs:eip does not work anymore [1419393] SSE's #XF exception -> "exception(19): bad vector" [1419429] disassembly of "260f6f00" show DS: instead of ES: prefix [1417583] Interrupt behaviour changed from 2.2.1 to 2.2.5 [1418281] 'push' (6A) incorrectly disassembled [1417791] FLDENV generating exception when real hw does not. [1264583] OS/2 1.1 doesn't run ------------------------------------------------------------------------- Changes in 2.2.6 (January 29, 2006): - First major SMP release ! - several APIC and I/O APIC fixes make SMP Bochs booting Windows NT4.0 or Knoppix 4.0.2 without noapic kernel option in SMP configuration. - critical APIC timer bug fixed - obsolete SMP BIOS images removed (MP tables created dynamicaly) - determine number of processors in SMP configuration through .bochsrc new .bochsrc option 'CPU' allows to choose number of processors to emulate - new configure option --enable-smp to configure Bochs for SMP support, the old --enable-processors=N option is deprecated - CPU and internal debugger fixes - enabled #PCE bit in CR4 register, previosly setting of this bit generated #GP(0) fault - enabled LAHF/SAHF instructions in x86-64 mode - fixed bug in PMULUDQ SSE2 instruction - fixes in Bochs debugger - Configure and compile - enable VME (virtual 8086 mode extensions) by default if cpu-level >= 5 - enable Bochs disassembler by default for all configurations - win32 installer script improvements - ips parameter moved to new 'CPU' option - show IPS value in status bar if BX_SHOW_IPS is enabled - Other - several fixes in the hard drive, keyboard, timer, usb and vga code - new user button shortcut "bksl" (backslash) - updated Bochs instrumentation examples - user and development documentation improved ------------------------------------------------------------------------- Changes in 2.2.5 (December 30, 2005): Brief summary : - added virtual 8086 mode extensions (VME) implementation - several fixes/improvements in x86-64 emulation, debugger and disassembler - new serial mode 'socket' connects a network socket - IDE busmaster DMA feature for harddisks and cdroms completed and enabled - many improvements in Bochs emulated I/O devices (e.g. floppy, cdrom) - Updated LGPL'd VGABIOS to version 0.5d Detailed change log : - CPU - fixed XMM registers restore in FXRSTOR instruction (Andrej Palkovsky) - print registers dump to the log if tripple fault occured - fixed PANIC in LTR instruction (Stanislav) - added virtual 8086 mode extensions (VME) implementation, to enable configure with --enable-vme (Stanislav) - flush caches and TLBs when executing WBINVD and INVD instructions - do not modify segment limit and AR bytes when modifying segment register in real mode (support for unreal mode) - fixed init/reset values for LDTR and TR registers - reimplemented hardware task switching mechanism (Stanislav) - generate #GP(0) when fetching instruction cross segment boundary - CPU (x86-64) (Stanislav Shwartsman) - implemented call_far/ret_far/jmp_far instructions in long mode - fixed IRET operation in long mode - fixed bug prevented setting of NXE/FFXSR bits in MSR.EFER register - implemented RDTSCP instruction - do not check CS.limit when prefetching instructions in long mode - fixed masked write instructions (MASKMOVQ/MASKMOVDQU) in long mode - fetchdecode fixes for x86-64 - APIC - Fixed bug in changing local APIC id (Stanislav) - Fixed reading of IRR/ISR/TMR registers (patch by wmrieker) - Implemented spurious interrupt register (Stanislav, patch by wmrieker) - Fixed interrupt delivery bug (anonymous #SF patch) - Correctly implemented ESR APIC register (Stanislav) - Bochs debugger - Fixed bug in bochs debugger caused breakpoints doesn't fire sometimes (Alexander Krisak) - watchpoints in device memory fixed (Nickolai Zeldovich) - new debug interface to access Bochs CPU general purpose registers with support for x86-64 - Disassembler (Stanislav Shwartsman) - Fixed disassembly for FCOMI/FUCOMI instructions - Full x86-64 support in disassembler. The disassembler module extended to support x86-64 extensions. Still limited by Bochs debugger which is not supporting x86-64 at all ;( - I/O devices (Volker) - general - memory management prepared for large BIOS images (up to 512k) - slowdown timer sleep rate fixed (now using 1 msec on all platforms) - some device specific parameter handlers moved into the device code - serial - new serial mode 'socket' connects a network socket (#SF patch by Andrew Backer) - hard drive / cdrom - assign a unique serial number to each drive (fixes harddrive detection problems with Linux kernels 2.6.x: "ignoring undecoded slave") - geometry autodetection for 'flat' hard disk images added. Works with images created with bximage (heads = 16, sectors per track = 63) - ATAPI command 'read cd' implemented, some other commands improved - cdrom read block function now tries up to 3 times before giving up - emulation of raw cdrom reads added, some other lowlevel cdrom fixes - IDE busmaster DMA feature for harddisks and cdroms completed and enabled - disk image size limit changed from 32 to 127 GB - split ATA/ATAPI emulation code and image handling code - floppy - fixes for OS/2 (patch by Robin Kay) - disk change line behaviour fixed (initial patch by Ben Lunt) - end-of-track (EOT) condition handling implemented - more accurate timing for read/write data and format track commands using a motor speed of 300 RPM - timing of recalibrate and seek commands now depends on the step rate, date rate and the steps to do - floppy controller type changed to 82077AA - cmos - RTC 12-hour and binary mode implemented - number of CMOS registers changed from 64 to 128 - bochsrc option 'cmosimage' improved - save cmos image on exit if enabled - speaker - simple speaker support for OS X added (patch by brianonn@telus.net) - pci - BeOS boot failure fix in the PCI IDE code - don't register i/o and memory regions during PCI probe - vga - memory allocation for vga extensions fixed - usb - some bugfixes by Ben Lunt (mouse and keypad are usable now) - networking modules - VDE networking module now enabled on Linux - display libraries - general - new syntax for the userbutton shortcut string and more keys supported - win32 - fixed keycode generation for right alt/ctrl/shift keys - runtime dialog is now a property sheet - x11 - simple dialog boxes for the "ask" and "user shortcut" feature implemented - Slovenian keymap added (contributed by Mitja Ursic) - configuration interface - ask dialog is now enabled by default for win32, wx and x display libraries - bochsrc option floppy_command_delay is obsolete now (floppy timing now based on hardware specs) - floppy image size detection now available in the whole config interface - some device specific parameter handlers moved into the device code - calculate BIOS ROM start address from image if not specified - System BIOS (Volker) - PCI i/o and memory base address initialization added - several keyboard interrupt handler fixes (e.g. patch by japheth) - several floppy fixes (e.g. OS/2 works with patch by Robin Kay) - some more APM functions added - Updated LGPL'd VGABIOS to version 0.5d - generate SMP specific tables dynamicly by the Bochs memory init code - SF patches applied [1389776] Disk sizes over 64 Gbytes by Andrzej Zaborowski [1359162] disasm support for x86-64 by Stanislav Shwartsman [857235] task priority and other APIC bugs, etc by wmrieker [1359011] build breaks for 386 + debugger + disasm by shirokuma [1352761] Infinite loop when trying to debug a triple exception [1311170] small APIC bug fix (interrupt sent to the wrong CPU) [1309763] Watchpoints don't work in device memory by Nickolai Zeldovich [1294930] change line status on floppy by Ben Lunt [1282033] SSE FXRESTORE not working correctly by Ondrej Palkovsky [816979] wget generalizations by Lyndon Nerenberg [1214886] No more pageWriteStamp / unified icache by H. Johansson [1107945] com->socket redirection support by Andrew Backer - these S.F. bugs were closed [669180] win95 install : unknown SET FEATURES subcommand 0x03 [1346692] bochs 2.2.1 VGA BIOS error [1354963] floppy in KolibriOS [1378204] error: bochs-2.2.1, --enable-sb16, --disable-gameport [1368412] VDE problems in BOCHS [533446] CPU and APIC devices appear twice [1000796] bximage fails to create image of specified size [1170793] Quarterdeck QEMM doesn't work [923704] Multiple opcode prefixes don't reflect Trap 13 [1166392] DocBook/documentation issues [1368239] broken grater than 4GB size of sparse type hd image [1365830] i386 compile breaks on paging [427550] Incomplete IRETD implementation [1215081] MSVC workspace STILL not fixed [736279] Jump to Task [1356488] FD change fail & occur error [957615] [CPU ] prefetch: RIP > CS.limit [1353866] not booting linux-2.6.14 [1351667] load32bitOSImage does not work with --enable-x86-debugger [1217476] Incorrect (?) handling of segment registers in real mode [1184711] OS2 DOS crash [2.2.pre2] [624330] support for disks > 32GiB [1348368] bochs 2.2.1 bximage error [1342081] Configuration Menu option failed [1138616] OS/2 Warp 4 hangs when booting [1049840] mouse and video conflict [1164570] Unable to perform Fedora Core 4 test 1 installation [1183201] Windows 2000 (MSDN build 2150?) does not completely install [1194284] Can't boot from CD-ROM (Windows NT) [962969] Windows NT crashes while trying to intall them. [1054594] WinXP install halts (redo) [1153107] Windows XP fails with BSOD on 'vga' [938518] Win XP installation fails [645420] getHostMemAddr vetoed direct read [1179985] MS XENIX: >>PANIC<< VGABIOS panic at vgabios.c, line 0 [1329600] WBINVD and INVD should flush caches and TLB [638924] eliminate BX_USE_CONFIG_INTERFACE [1048711] Funny behaviour with CTRL [1288450] keyboard BIOS error [1310706] Keyboard - about key SHIFT [1295981] Ubuntu 5.04 Live-CD won't boot in Bochs [879047] APIC timer behavior different before reset and after [1188506] I still can't install the german Windows XP! [1301847] Windows XP dosn't boot - FXRSTOR problem ? [661259] does not boot QNX under WinX [924412] Keyboard lock states all whacked [681127] MIPSpro compiler (IRIX) is allergic to ^M [1285923] BIOS keyboard handler [516639] ATA controller revisited... [657918] does not boot BeOS under WinX [649245] BeOS CD locks halfway on boot [1094385] Attachment for bug 1090339 (beos failure) [1183196] BeOS 4.5 developer CD does not install [1090339] BeOS fails to boot [639484] panics when int 13 is called [711701] divide by zero [704295] ATAPI/BIOS call missing [682856] hard drive problems [627691] Cursor keys problem [588011] keyboard not working [542260] os/2 warp crashes with floppy handling [1273878] SB16 doesn't work in pure DOS [542254] OS/2 FDC driver dies [1099610] Windows 98 SE Does not install [875479] cr3 problem on task switch [731423] NE2000 causing PANIC on Win2K detection [1156155] bochs fails to boot plan9 iso [1251979] --enable-cpu-level=3 should assume --without-fpu [1257538] Interupt 15h 83h - set wait event interval [658396] Panic for DR DOS emm386 [679339] /? doesn't divulge Bochs command-line syntax [1167016] call/jump/return_protected doesn't support x86-64 [1252432] Mac OS X compile bug [881442] Bochs 2.1 PANIC when loading DOS Turbo Pascal protected mode [1249324] Boch2.2.1 Buffer Overfollow in void bx_local_apic_c::init () [1197144] 'make install' has dependency on wget [1079595] LTR:386TSS: loading tr.limit < 103 [1244070] Compilation Error in gui/rfb.cc [761707] CPU error when trying to start Privateer [517281] Crash running Privateer in DOS... ------------------------------------------------------------------------- Changes in 2.2.1 (July 8, 2005): - Fixed several compilation warnings and errors for different platforms (Volker) - Fixed FPU tag word restore in FXRSTOR instruction (Stanislav) - Added missing scancodes for F11 and F12 to BIOS translation table (Volker) - Bochs disassembler bugfixes (h.johansson) - About 5% emulation speed improvement (h.johansson) - Handle writing of zero to APIC timer initial count register (Stanislav) - Enable Idle-Hack for 'TERM' GUI (h.johansson) - Reduced overhead of BX_SHOW_IPS option to minimum. Now every simulation could run with --enable-show-ips without significant performance penalty. (Stanislav) - Fixed pcipnic register access (Volker) - Limited write support for TFTP server in 'vnet' networking module added (Volker) - Changed some timing defaults to more useful values (Volker) - WinXP/2003 style common controls now supported (Vitaly Vorobyov) - Updated LGPL'd VGABIOS to version 0.5c (Volker) - Added new BX_INSTR_HLT callback to instrumentation (Stanislav) ------------------------------------------------------------------------- Changes in 2.2 (May 28, 2005): Brief summary : - New floating point emulator based on SoftFloat floating point emulation library. - improved x86-64 emulation - Cirrus SVGA card emulation added - status bar with indicators for keyboard, floppy, cdrom and disk (gui dependant) - many improvements in Bochs emulated I/O devices (e.g. PCI subsystem) Detailed change log : - CPU - fixes for booting OS/2 by Dmitri Froloff - fixed v8086 priveleged instruction processing bug (was also reported by LightCone Aug 7 2003) - exception process bug (was reported by Diego Henriquez Sat Nov 15 01:16:51 CET 2003) - segment validation with IRET instruction - CS segment not present exception processing with IRET - several fixes by Kevin Lawton - add MSVC host asm instructions (patch by suzu) - fixed bug in HADDPD/HSUBP

understanding ecmascript 6 中文版

understanding ecmascript 6 中文版

understanding ecmascript 6 中文版

visual assist v 10.4.1632 with crack

visual assist v 10.4.1632 with crack

Build 1632<br>requires software maintenance through 2008.04.03. (Beta release.) <br>New! Added context-sensitive help to VA X dialogs. Click ? or press F1 to get help. (case=8980) <br>New! Visual Studio 2008-style transparent listboxes are available in all IDEs. Hold down Ctrl when listbox is displayed to activate. (case=10072) 7209, 6972 <br>New! Added option to include or exclude refactoring suggestions in listboxes; see Advanced | Refactoring | Include refactoring suggestions in listboxes. (case=10428) 5797, 7254 <br>"return" takes precedence over "RETCODE" in suggestion lists. (case=11277) 7036 <br>Fixed incompatibility with XNA Game Studio 2.0. (case=10703) 7064 <br>Restored "put n spaces between method name and ()" option under Advanced | Corrections. (case=10995) 7304 <br>Fixed a problem typing "else" on a line by itself. (case=8415) <br>Debugger tooltips display without flickering. (case=8817) 6647 <br>Fixed hang when opening web site project in Visual Studio 2008. (case=10401) <br>Fixed intermittent crash when typing a VB Imports statement in Visual Studio 2008 on Windows Vista. (case=15154) <br>Ctrl+Tab document switching is handled properly in Visual Studio 2008. (case=10303) 7010 <br>Visual Studio 2008 C++ include directories that contain double backslashes due to environment variable expansion are located and parsed correctly. (case=11261) <br>Highlight current line works properly in .js and .asp/.aspx files in Visual Studio 2008. (case=15384) <br>Visual Basic enumerations are parsed correctly. (case=12161) <br>Removed C-style comment and semicolon from Encapsulate Field in Visual Basic files. (case=11160, case=4475) 7107 <br>Object methods called on boxed string literals in C# are parsed correctly. (case=8012) 6513 <br>Subsequent rename operations issued from VA Outline target the correct symbol. (case=10502) 7039 <br>MFC dispatch map is shown in VA Outline. (case=10514) <br>Tooltips are positioned correctly when VA Outline is undocked in VC6. (case=9976) 6946 <br>VA Outline shows correct hierarchy for C++ classes containing friend methods without friend class declaration. (case=10740) 7072 <br>.Net symbols are excluded from suggestion lists in unmanaged C++ solutions. (case=11391) 7148 <br>Fixed Extract Method with for each loop in managed C++. (case=14864) 7348 <br>Typing a dot after a C++ constructor invocation [ e.g. std::string("some text"). ] displays member list properly. (case=9876) <br>C++ using declarations (using namespace::identifier) are parsed correctly. (case=9436) <br>STL list<> and vector<> member lists appear correctly following a "using namespace std::list" or "using namespace std::vector" directive. (case=12345) 7226 <br>Empty C++ preprocessor directives are ignored (fixes problem parsing Boost library). (case=10353) <br>Typedefs declared inside template classes are parsed correctly. (case=12098) <br>Improved parsing of STL iterator patterns (case=11842) 7136, 7202, 7212 <br>Improved stability when parsing deep templates. (case=15454) <br>Fixed dereferenced iterators missing from Find References / Rename. (case=1702) 6451, 4978 <br>Cloned Find References windows are not hidden behind the VC6 IDE. (case=10201) 7000, 7026 <br>IDE warning message about writing to a read-only file is brought to the foreground during a rename operation if applicable. (case=8958) <br>#include paths are preserved when typing a slash with Repair Case disabled. (case=12025) 7200 <br>C# generic methods are colored properly. (case=9300) 6801 <br>Comments in tooltips and views use IDE comment color. (case=9363) 6904, 6808 <br>Dialog edit controls are colored properly in Windows Vista. (case=9281) <br>Filenames displayed in lists and views are not syntax colored. (case=12556, case=12788) <br>Foreground text color is automatically changed if it matches the background color. (case=14268) <br>VA View Symbols in Solution list items are colored properly. (case=14899) <br>Quick Info and Parameter Tooltips invoked via the keyboard are colored properly. (case=3082) 5462 <br>Goto (Alt+G) handles template class typedefs. (case=4249) 6168, 5774 <br>Goto handles duplicate files better (as with VSS shared directories). (case=5567, case=7457) 6027, 6021 <br>Listboxes are positioned such that they are not truncated at the right edge of the screen. (case=5178) <br>Listbox remains on the same side of a symbol (either above or below) when typing inside parentheses. (case=8998) 6672 <br>Windows Vista visual styles are applied to listboxes. (case=9275) <br>Accepting a suggestion from a listbox properly replaces acronym text. (case=14290) 7316 <br>Fixed disappearing listboxes in .js and .asax files. (case=1699, case=15295) 4843 <br>Fixed bad icons appearing in suggestion lists. (case=14469) <br>#include directives listed in Find References results are displayed with question mark icons. (case=9592) 6869 <br>Esc key turns off Highlight All when Find References results window is undocked. (case=9364) 6803 <br>Find References error messages may optionally be displayed in the status bar instead of a modal message box. (case=10226) 7038, 6997 <br>Spelling errors in comments with XML tags are underlined. (case=9649) 6893 <br>XML comment suggestion list opened with < functions properly. (case=12324) 7229 <br>Suggestions are suppressed in comments and string literals. (case=10480) 5797, 7030, 7055 <br>Change Signature does not cause some known symbols to become unknown. (case=10432) 6762 <br>"Enable automatic Quick Info Tooltips" option is forced on when enabling "Display comments from source files when available" option in Advanced | Display. (case=10967) <br>Macros in [VA X install directory]\Misc\stdafx.h are parsed each time a project is opened. (case=284) <br>Surround with { indents properly when selection is made from bottom to top. (case=1521) 6792, 5961, 5796, 5249 <br>Long words (>64 chars) in comments are not underlined as mistyped. (case=3485) 5634, 5588 <br>Improved Autosave performance. (case=9821) 6916, 5613 <br>Open File in Solution grid lines are drawn correctly in Windows XP. (case=9948) <br>Forward-declared stable symbols are shown in italic. (case=399) 2263, 1934, 1912 <br>Repair Case changes only those symbols that differ by case alone (similarly named symbols are not changed). (case=8723) <br>Corrected spacing around spell check replacements. (case=7768) 6471 <br>Eliminated spurious suggestions. (case=12061) 6900 <br>Source files residing in directories named p4win or p4v (or their descendants) are included when parsing. (case=11506) 7150 <br>Missing VC6 toolbar icons have been restored (case=10126) 6980 <br>Filtering toolbar shows the rightmost button correctly. (case=10623) 7044 <br><br>中文注释有乱码<br>

LTE from A to Z

LTE from A to Z

著名培训机构的LTE培训教材。 深入浅出,从基本概念到深入描述。是一份比较全面的教材。全文367页。有料有内容。是一份难得的教材。 文件比较大,所以拆成3部分。这是part3 LTE from A-Z Technology and Concepts of the 4G 3GPP Standard Table of Content Principles and Motivation of LTE............................................1 1.1 Mobile Radio: Comparison between 3G and 4G..................2 1.1.1 Performance and Mobility Management related Issues..............2 1.1.2 Architecture related Issues..........................................................4 1.1.3 Procedure and Radio related Issues...........................................6 1.2 Requirements on LTE............................................................8 1.2.1 General Requirements................................................................8 1.2.1.1 Support of Enhanced Quadruple Play Services............................10 1.2.1.2 Very High Data Rates @ flexible bandwidth deployment ((1.25) 5 – 20 MHz).....................................................................................................10 1.2.1.3 AIPN and PS services only............................................................10 1.2.2 Important Characteristics of LTE Physical Layer.......................12 1.2.2.1 General Physical Layer Characteristics.........................................12 1.2.2.1.1 OFDM ..................................................................................12 1.2.2.1.2 Scalable Bandwidth..............................................................13 1.2.2.1.3 Smart Antenna Technology..................................................14 1.2.2.1.4 Fast scheduling and AMC.....................................................14 1.2.2.1.5 No Soft(er) handover............................................................14 1.2.3.2 OFDM/OFDMA..............................................................................16 1.2.3.2.1 Traditional narrowband communication................................16 1.2.3.2.2 Problems for wideband signals.............................................17 1.2.3.2.3 OFDM...................................................................................17 1.2.3.2.4 OFDM and OFDMA..............................................................17 1.2.3.2.5 LTE and OFDM.....................................................................17 1.2.3.3 Smart Antenna Technology in LTE................................................18 1.2.3.3.1 Categorization of Smart Antenna Technologies...................18 1.2.3.3.1.1 SISO.............................................................................18 1.2.3.3.1.2 SIMO............................................................................18 1.2.3.3.1.3 MISO............................................................................19 1.2.3.3.1.4 MIMO...........................................................................19 1.2.3.3.2 Multiple Input Multiple Output (MIMO)..................................20 1.2.3.3.2.1 Multiple carrier technology...........................................21 1.2.3.3.2.2 MIMO...........................................................................21 1.2.3.3.3 Adaptive Antenna Systems (AAS)........................................22 1.2.3.3.3.1 Signal generation.........................................................23 1.2.3.3.3.2 Constructive superimposition at the intended receiver 23 1.2.3.3.3.3 Destructive superimposition at the not intended receiver .......................................................................................................23 1.2.3.3.3.4 Generation of signals for multiple UE’s........................23 1.2.3.4 Macro Diversity exploitation by SFN..............................................24 1.2.3.4.1 Requirements for MBMS services........................................24 1.2.3.4.2 MBMS operation with a SFN.................................................24 1.2.3.4.3 SFN for point to point services..............................................25 1.2.3.5 The Frequency Bands Intended for LTE.......................................26 1.2.3.5.1 Exclusive usage....................................................................27 1.2.3.5.2 Refarming.............................................................................27 1.2.3.5.3 Licensed operation................................................................27 1.2.3.5.4 Unlicensed operation............................................................27 1.2.3.6 Flexible Bandwidths, Parameters..................................................28 1.2.3.6.1 Fixed subcarrier separation..................................................28 1.2.3.6.2 Usage of carriers in the middle of the bandwidth for PBCH and synchronization signals.................................................................29 1.2.3.6.3 Deployment Scenarios..........................................................30 1.2.4 Important Characteristics of the LTE Layer 2 and 3..................32 1.2.4.1 Support of the new LTE L1............................................................32 1.2.4.2 Simple IP centric protocols supporting AIPN.................................32 1.2.4.3 Support of various inter RAT handovers (GSM, UTRA, etc.)........33 1.3 LTE and System Architecture Evolution (SAE)..................34 1.3.1 Overview...................................................................................34 1.3.1.1 Missing RNC..................................................................................34 1.3.1.2 Interconnected eNB’s....................................................................35 1.3.1.3 Separate entities for user plane and control plane in the EPC......36 1.3.1.4 Combined Serving Gateway and MME.........................................36 1.3.1.5 Combined Serving and PDN Gateways........................................36 1.3.1.6 S1-flex...........................................................................................36 1.3.1.7 Used legacy elements...................................................................36 1.3.1.8 Roaming case................................................................................36 1.3.1.9 Direct Tunnel.................................................................................36 1.3.1.10 EPS, EPC, E-UTRAN & LTE, SAE..............................................36 1.3.2 The eNB....................................................................................38 1.3.2.1 Selection of MME at attachment....................................................39 1.3.2.2 Scheduling of paging messages....................................................39 1.3.2.3 Routing of user plane data to Serving GW....................................40 1.3.2.4 PDCP.............................................................................................40 1.3.2.5 RRM/RRC......................................................................................40 1.3.2.6 RLC...............................................................................................40 1.3.2.7 MAC...............................................................................................40 1.3.2.8 Complete L1 functionality..............................................................40 1.3.3 The MME...................................................................................42 1.3.3.1 NAS signalling...............................................................................42 1.3.3.2 Inter CN node signaling (3GPP networks).....................................42 1.3.3.3 Security management....................................................................42 1.3.4 The Serving GW........................................................................44 1.3.4.1 Termination of U-plane packets for paging reasons......................44 1.3.4.2 Support of UE mobility anchoring by switching U-plane during inter eNB handover............................................................................................44 1.3.4.3 Transport Packet Marking According to QCI.................................45 1.3.4.4 Mobility anchoring for inter-3GPP mobility....................................45 1.3.4.5 Packet routing and forwarding.......................................................45 1.3.4.6 Charging support...........................................................................45 1.3.4.7 Lawful interception.........................................................................45 1.3.5 The PDN GW............................................................................46 1.3.5.1 Termination towards of PDN’s.......................................................46 1.3.5.2 Policy enforcement........................................................................46 1.3.5.3 Charging support...........................................................................46 1.3.5.4 DHCPv4 and DHCPv6 functions...................................................47 1.3.6 Identifiers of the UE and the Network Elements........................48 1.3.6.1 PLMN ID........................................................................................50 1.3.6.2 EPS Bearer ID...............................................................................50 1.3.6.3 MMEI.............................................................................................50 1.3.6.4 GUMMEI........................................................................................50 1.3.6.5 Physical Cell ID.............................................................................50 1.3.6.6 eNB/cell ID.....................................................................................50 1.3.6.7 TAI.................................................................................................50 1.3.6.8 C-RNTI..........................................................................................50 1.3.6.9 RA-RNTI........................................................................................50 1.3.6.10 SI-RNTI........................................................................................50 1.3.6.11 P-RNTI.........................................................................................50 1.3.6.12 Random Value.............................................................................50 1.3.6.13 IMSI, S-TMSI, and IMEI...............................................................52 1.3.6.14 GUTI............................................................................................52 1.3.6.15 eNB S1-AP UE ID and MME S1-AP UE ID.................................52 1.4 The E-UTRAN Protocol Stack..............................................54 1.4.1 Control Plane Protocol Stack....................................................54 1.4.1.1 Air Interface protocols....................................................................55 1.4.1.2 NAS protocols................................................................................56 1.4.2 User Plane Protocol Stack........................................................58 1.4.2.1 Air Interface protocols....................................................................58 1.4.2.2 S1 protocol....................................................................................58 1.4.3 X2 Interface Control Plane Protocol Stack................................60 1.4.4 X2 User Plane Protocol Stack...................................................62 1.5 Overview Channels of E-UTRAN.........................................64 1.5.1 Channel Types..........................................................................64 1.5.1.1 Logical Channels...........................................................................64 1.5.1.2 Transport Channels.......................................................................64 1.5.1.3 Physical Channels.........................................................................65 1.5.2 Logical Channels of E-UTRAN..................................................66 1.5.2.1 BCCH............................................................................................66 1.5.2.2 PCCH............................................................................................66 1.5.2.3 CCCH............................................................................................66 1.5.2.4 MCCH............................................................................................66 1.5.2.5 DCCH............................................................................................67 1.5.2.6 DTCH.............................................................................................67 1.5.2.7 MTCH............................................................................................67 1.5.3 Transport Channels of E-UTRAN..............................................68 1.5.3.1 RACH............................................................................................68 1.5.3.2 UL-SCH.........................................................................................68 1.5.3.3 BCH...............................................................................................68 1.5.3.4 PCH...............................................................................................68 1.5.3.5 MCH..............................................................................................69 1.5.3.6 DL-SCH.........................................................................................69 1.5.4 Physical Channels of E-UTRAN................................................70 1.5.4.1 PBCH.............................................................................................70 1.5.4.2 PDCCH..........................................................................................70 1.5.4.3 PCFICH.........................................................................................71 1.5.4.4 PUCCH..........................................................................................71 1.5.4.5 PRACH..........................................................................................71 1.5.4.6 PHICH...........................................................................................72 1.5.4.7 PDSCH..........................................................................................72 1.5.4.8 PMCH............................................................................................72 1.5.4.9 PUSCH..........................................................................................72 1.5.4.10 Downlink reference signal...........................................................72 1.5.4.11 Primary and secondary synchronization signal...........................72 1.5.4.12 Uplink reference signal or UL pilot symbol..................................72 1.5.4.13 Uplink sounding signal.................................................................72 1.5.4.14 Random Access Preamble..........................................................72 1.5.5 Mapping of Channels in E-UTRAN............................................74 1.6 Key Development Trends manifested in LTE.....................76 1.6.1 Mapping of User Plane Packets to the Resources....................76 1.6.1.1 Method 1: Fast resource allocation on optimum resources...........77 1.6.1.2 Method 2: Slow resource allocation on suboptimum resources....78 1.6.1.3 GSM..............................................................................................78 1.6.1.4 WCDMA.........................................................................................78 1.6.1.5 HSPA.............................................................................................78 1.6.1.6 LTE................................................................................................78 1.6.1.7 General trend.................................................................................78 1.6.2 All IP Network and Simple Packet Service Driven Protocols.....80 1.6.2.1 Reduced User Plane Latency........................................................82 1.6.2.1 Reduced Control Plane Latency....................................................84 1.7 LTE Key Feature Summary..................................................86 1.7.1 Air Interface Technology...........................................................86 1.7.2 System Architecture..................................................................87 1.7.3 Service Aspects........................................................................87 Key Technologies of the LTE Physical Layer......................89 2.1 Introduction OFDM Technology..........................................90 2.1.1 Impact of Orthogonality in the Frequency Domain – 3 Steps....90 2.1.2 Practical Exercise: Physical Basics of OFDM / OFDMA...........96 2.1.3 Practical Exercise: Scaling of OFDM / OFDMA-Systems..........98 2.1.4 The In-Phase – Quadrature (I/Q) Presentation.......................100 2.1.5 OFDM / OFDMA and IFFT......................................................102 2.1.5.1 Considering the Discrete Oscillator Array Option........................103 2.1.5.2 Details of the IFFT Option...........................................................103 2.1.5.3 Why is it called F a s t Fourier Transformation?..........................103 2.1.6 Modulation Scheme Overview.................................................104 2.1.8 Tackling Inter-Symbol Interference (ISI)..................................108 2.1.8.1 Introduction..................................................................................108 2.1.8.1.1 Delay Spread......................................................................108 2.1.8.2 Cyclic Prefix.................................................................................110 2.1.8.2.1 Variable Duration and other Assets of the Cyclic Prefix.....111 2.1.8.2.2 Cyclic Prefix in OFDMA in LTE...........................................111 2.1.9 Layout of a Typical OFDM System..........................................112 2.1.9.1 Remarks on the Brick Wall Image...............................................113 2.1.9.2 Subchannelization ......................................................................113 2.1.9.3 Pilot Subcarriers..........................................................................113 2.1.9.4 Null Subcarriers...........................................................................113 2.2 Introduction to MIMO Technology....................................114 2.2.1 The Basics: Signal Fading Physics between TX and RX........114 2.2.2 Multiplexing Dimensions.........................................................116 2.2.2 Multiplexing Dimensions.........................................................118 2.2.3 The Multipath Dimension........................................................120 2.2.6 MIMO General Operation........................................................122 The Physical Layer of E-UTRAN..........................................125 3.1 The Use of OFDM/OFDMA in LTE.....................................126 3.1.1 Frame Structure......................................................................126 3.1.1.1 The generic frame structure........................................................126 3.1.1.2 The downlink slots.......................................................................127 3.1.1.3 The uplink slots............................................................................127 3.1.1.4 The frame structure type 2..........................................................127 3.1.2 LTE Parameters......................................................................128 3.1.2.1 The normal configuration.............................................................128 3.1.2.2 The extended configuration with 15 kHz subcarrier separation...128 3.1.2.3 The extended configuration with 7.5 kHz subcarrier separation..129 3.1.2 Resource Element and Resource Block Definition..................130 3.1.2.1 Definition Resource Element.......................................................130 3.1.2.2 Definition Resource Block...........................................................130 3.1.2.3 Definition Subframe.....................................................................130 3.1.2.4 Number of resource blocks in a given bandwidth........................131 3.1.3 Choice of the UL Transmission Scheme (UL Data Symbols only) .........................................................................................................132 3.1.3.1 What would happen if OFDM would be used in the UL...............133 3.1.3.2 SC-FDMA is used for the UL.......................................................133 3.1.4 FDD and TDD Operation in E-UTRAN....................................134 3.1.4.1 Reciprocity...................................................................................134 3.1.4.1.1 Reciprocity of the mobile radio channel..............................134 3.1.4.1.2 Speed of scheduling decisions...........................................135 3.1.4.2 UL / DL Asymmetry and Others...................................................136 3.1.4.2.1 UL/DL symmetry.................................................................136 3.1.4.2.2 Interference scenarios........................................................136 3.1.4.2.3 TRX architecture.................................................................137 3.1.4.2.4 Deployment in a given frequency band...............................137 3.1.4.3 Summary FDD vs. TDD...............................................................138 3.2 The DL Physical Channels and their Frame Structures. .140 3.2.1 Allocation of DL Physical Channels to Resource Elements....140 3.2.1.1 Not used subcarriers...................................................................142 3.2.1.2 Primary Synchronization Signal...................................................142 3.2.1.3 Secondary Synchronization Signal..............................................142 3.2.1.4 Pilot or Reference Signal.............................................................142 3.2.1.5 PBCH...........................................................................................142 3.2.1.6 PCFICH.......................................................................................142 3.2.1.7 PHICH.........................................................................................142 3.2.1.8 PDCCH........................................................................................142 3.2.1.9 PDSCH (and PMCH)...................................................................142 3.2.2 System Information on PBCH and PDSCH.............................144 3.2.2.1 Split of the BCH on the PBCH and the PDSCH..........................144 3.2.3 PCFICH, PDCCH, and PHICH................................................146 3.2.3.1 The PCFICH................................................................................147 3.2.3.2 The PDCCH.................................................................................148 3.2.3.3 The PHICH..................................................................................148 3.2.4 The Downlink Processing Chain.............................................150 3.2.4.1 Encoded transport block bits.......................................................150 3.2.4.2 Scrambling...................................................................................150 3.2.4.3 Modulator.....................................................................................152 3.2.4.4 Layer Mapper..............................................................................152 3.2.4.5 Precoding....................................................................................152 3.2.4.6 OFDM signal generation..............................................................152 3.2.4.7 CP and IFFT................................................................................152 3.3 The UL Physical Channels and their Frame Structures. .154 3.3.1 Overview UL Physical Channels (RRC_CONNECTED).........154 3.3.1.1 Scheduling Request (SR) on the PUCCH...................................154 3.3.1.2 Small amount of L1 information on the PUCCH..........................155 3.3.1.3 Big amount of L1 information on the PUSCH..............................155 3.3.1.4 L1 information on the PUSCH multiplexed with the TrCH data...155 3.3.1.5 Sounding reference symbols PUSCH resources.........................155 3.3.2 Overview PUCCH...................................................................156 3.3.3 PUCCH Mapping for ACK/NACK only and Scheduling Request .........................................................................................................158 3.3.3.1 Usage of Zadoff-Chu sequences.................................................158 3.3.3.2 Spreading of repeated data Zadoff-Chu symbols........................160 3.3.3.3 Spreading of reference Zadoff-Chu symbols...............................160 3.3.3.3 PUCCH Format 1........................................................................160 3.3.3.4 PUCCH Formats 1a and 1b.........................................................160 3.3.3.5 Shortened PUCCH Formats 1a and 1b.......................................160 3.3.3.6 Multiple access of the PUCCH....................................................160 3.3.4 Shared usage of Resources with CAZAC Sequences............162 3.3.4.1 Zadoff-Chu sequences are CAZAC sequences..........................163 3.3.4.2 Separation of different UE’s with cyclic shifted Zadoff-Chu sequences...............................................................................................163 3.3.5.1 PUCCH Format 2........................................................................164 3.3.5.2 PUCCH Formats 2a and 2b.........................................................165 3.3.6 The Uplink Processing Chain..................................................166 3.3.6.1 Transport block bits.....................................................................166 3.3.6.2 Scrambling...................................................................................166 3.3.6.3 Modulator.....................................................................................166 3.3.6.4 DFT pre-coder.............................................................................166 3.3.6.5 Demultiplexing of signals other than data....................................167 3.3.6.6 Resource element mapper..........................................................167 3.3.6.7 IFFT.............................................................................................167 3.3.6.7 CP................................................................................................167 3.4 Overview all Physical Channels........................................168 3.4.1 Special usage of the 6 RB around the DC carrier...................169 3.4.2 Multiplexing of the PCFICH, PDCCH and the PDSCH/PMCH in the normal DL subframe...................................................................170 3.4.3 Sounding reference signal.......................................................170 3.4.4 Modulation of the physical channels.......................................170 3.4.5 Channel coding.......................................................................170 3.5 Physical Layer Procedures...............................................172 3.5.1 Timing Advance Control..........................................................174 3.5.1.1 Principle.......................................................................................174 3.5.1.2 Procedure....................................................................................178 3.5.1.2.1 TA while the UE is not synchronized to the eNB................178 3.5.1.2.2 TA while the UE is synchronized to the eNB......................179 3.5.2 Channel Estimation DL...........................................................180 3.5.2.1 Channel Estimation Principle of LTE...........................................180 3.5.2.1.1 The description of the mobile radio channel.......................180 3.5.2.1.2 Coping with a frequency selective mobile radio channel....182 3.5.2.2 Channel Estimation Downlink......................................................184 3.5.2.2.1 Normal configuration with 4 TX antennas...........................184 3.5.2.2.2 Normal configuration with less than 4 TX antennas...........185 3.5.2.2.3 Extended configuration with 15 kHz subcarrier spacing.....185 3.5.2.2.4 Extended configuration with 15 kHz subcarrier spacing for MBSFN..............................................................................................185 3.5.2.2.5 Extended configuration with 7.5 kHz subcarrier spacing for MBSFN..............................................................................................185 3.5.3 Power Control Principle (PUSCH)...........................................186 3.5.4.1 The Transmission Diversity Problem...........................................188 3.5.4.1.1 Receive diversity.................................................................188 3.5.4.1.2 Unsuccessful transmit diversity...........................................189 3.5.4.2 AAS in LTE............................................................................190 3.5.4.2.1 Practical Exercise: Draw the Antenna Diagram of AAS......192 3.5.4.3 CDD.............................................................................................194 3.5.4.3.1 Delay diversity.....................................................................194 3.5.4.3.2 Cyclic delay diversity...........................................................194 3.5.4.3.3 Cyclic delay diversity and MIMO.........................................195 3.5.4.4 SFBC...........................................................................................196 3.5.4.4.1 Space Frequency Block Codes...........................................197 3.5.4.4.2 Space Time Block Codes....................................................197 3.5.4.5 MIMO...........................................................................................198 3.5.4.5.1 MIMO and AAS combined = multiple rank beamforming....199 3.5.4.5.2 When MIMO fails................................................................199 3.5.4.6 The Codebook.............................................................................200 3.5.4.6.1 Optimum beamforming weights..........................................201 3.5.4.6.2 Signaling of sub-optimum beamforming weights................201 3.5.5 Initial Cell Search ...................................................................202 3.5.5.1 Primary and Secondary Synchronization Signals........................202 3.5.5.2 Procedure....................................................................................204 3.5.6 Random Access......................................................................206 3.5.6.1 PRACH Structure Format 0.........................................................206 3.5.6.2 Random Access Procedure.........................................................208 3.5.7 Inter Cell Interference Mitigation.............................................210 3.5.7.1 Traditional frequency reuse in LTE..............................................210 3.5.7.1.1 Frequency reuse bigger than 1...........................................211 3.5.7.1.2 Frequency reuse 1 with low initial load...............................211 3.5.7.1.3 Frequency reuse 1 strongly increased load........................211 3.5.7.1.4 Frequency reuse 1 after “the party”....................................211 3.5.7.2 Fractional Frequency Reuse with Intercell Interference Coordination............................................................................................212 3.6 UE Classes..........................................................................214 3.6.1 Overview.................................................................................214 3.6.1.1 Classes 1-4..................................................................................214 3.6.1.2 UE class 5...................................................................................215 3.6.2 Calculation of the DL Peak Throughput for LTE UE Class 5...216 The Higher Layers of E-UTRAN...........................................219 4.1 Overview.............................................................................220 4.1.1 E-UTRAN Architecture Control Plane.....................................220 4.1.2 E-UTRAN Architecture User Plane.........................................222 4.2 Features of MAC.................................................................224 4.2.1 Overview.................................................................................224 4.2.1.1 Data transfer logical channels ←→ transport channels..............224 4.2.1.2 Radio resource allocation............................................................224 4.2.2 MAC Random Access Procedure............................................226 4.2.2.1 Contention based random access procedure..............................226 4.2.2.2 Non-contention based random access procedure.......................227 4.2.3 Structure of MAC-PDU............................................................228 4.2.3.1 MAC control element...................................................................229 4.2.3.2 Normal MAC SDU.......................................................................229 4.2.4 MAC Control Elements............................................................230 4.2.4.1 Contention resolution ID..............................................................231 4.2.4.2 Timing Advance...........................................................................231 4.2.4.3 DRX.............................................................................................231 4.2.4.4 Padding.......................................................................................231 4.2.4.5 Short, long and truncated buffer status reports...........................231 4.3 Features of RLC.................................................................232 4.3.1 Overview.................................................................................232 4.3.1.1 Data transfer................................................................................232 4.3.1.2 Error detection and recovery.......................................................232 4.3.1.3 Reset...........................................................................................233 4.3.2 Structure of RLC PDU.............................................................234 4.3.3 Structure of RLC AM with PDCP PDU Segments...................236 4.4 Features of PDCP...............................................................238 4.4.1 Overview.................................................................................238 4.4.1.1 RoHC...........................................................................................238 4.4.1.2 Numbering of PDCP PDU’s.........................................................238 4.4.1.3 In-sequence delivery of PDU’s....................................................238 4.4.1.4 Duplicate deletion........................................................................238 4.4.1.5 Encryption....................................................................................239 4.4.1.6 Integrity Protection.......................................................................239 4.4.2 Structure of PDCP PDU..........................................................240 4.5 Features of RRC.................................................................242 4.5.1 Overview.................................................................................242 4.5.1.1 Transmission of broadcast information........................................243 4.5.1.2 Establish and maintain services..................................................243 4.5.1.3 QoS control..................................................................................243 4.5.1.4 Transfer of dedicated control information....................................243 4.5.2 State Characteristics of RRC..................................................244 4.5.2.1 RRC_IDLE...................................................................................244 4.5.2.2 RRC_CONNECTED....................................................................244 4.6 NAS Protocol States and Transitions...............................246 4.6.1 EMM-DEREGISTERED & ECM-IDLE.....................................246 4.6.2 EMM-REGISTERED & ECM-IDLE..........................................246 4.6.3 EMM-REGISTERED & ECM-CONNECTED...........................247 4.7 Mobility...............................................................................248 4.7.1 Mobility Management in the EMM-DEREGISTERED & ECMIDLE State........................................................................................248 4.7.2 Mobility Management in the EMM-REGISTERED & ECM-IDLE State.................................................................................................250 4.7.3 Mobility Management in the EMM-REGISTERED & ECMCONNECTED State.........................................................................252 4.7.4 Inter RAT Mobility Management..............................................254 4.7.4.1 Cell Reselection (EMM-REGISTERED & ECM-IDLE).................255 4.7.4.2 Handover (EMM-REGISTERED & ECM-CONNECTED)............255 4.8 QoS in LTE..........................................................................256 4.8.1 Bearer Architecture.................................................................256 4.8.2 QoS Parameters.....................................................................258 4.8.2.1 ARP.............................................................................................259 4.8.2.2 Label............................................................................................259 4.8.2.3 GBR.............................................................................................259 4.8.2.4 MBR.............................................................................................259 4.8.2.5 AMBR..........................................................................................259 4.8.3 QoS Classes Identifier............................................................260 4.9 Security in LTE...................................................................262 Selected E-UTRAN Scenarios..............................................265 5.1 Initial Context Setup Procedure........................................266 5.2 Tracking Area Update........................................................268 5.1.1 Inter MME tracking area update..............................................268 5.1.2 Intra MME tracking area update..............................................269 5.3 PDP Context Establishment..............................................270 5.4 Intra MME Handover...........................................................274 5.4.1 Practical Exercise: Intra eNB Handover..................................278 5.5 Inter MME Handover...........................................................280 5.6 How a TCP/IP MTU is reaching the UE / the Internet.......284 5.6.1 TCP/IP layer............................................................................284 5.6.2 PDCP layer.............................................................................284 5.6.3 RLC layer................................................................................284 5.6.4 MAC layer...............................................................................285 5.6.5 PHY layer................................................................................285 Solutions for Practical Exercises........................................287

LTE from A to Z (part1 of 3)

LTE from A to Z (part1 of 3)

著名培训机构的LTE培训教材。 深入浅出,从基本概念到深入描述。是一份比较全面的教材。全文367页。有料有内容。是一份难得的教材。 文件比较大,所以拆成3部分。这是part1 LTE from A-Z Technology and Concepts of the 4G 3GPP Standard Table of Content Principles and Motivation of LTE............................................1 1.1 Mobile Radio: Comparison between 3G and 4G..................2 1.1.1 Performance and Mobility Management related Issues..............2 1.1.2 Architecture related Issues..........................................................4 1.1.3 Procedure and Radio related Issues...........................................6 1.2 Requirements on LTE............................................................8 1.2.1 General Requirements................................................................8 1.2.1.1 Support of Enhanced Quadruple Play Services............................10 1.2.1.2 Very High Data Rates @ flexible bandwidth deployment ((1.25) 5 – 20 MHz).....................................................................................................10 1.2.1.3 AIPN and PS services only............................................................10 1.2.2 Important Characteristics of LTE Physical Layer.......................12 1.2.2.1 General Physical Layer Characteristics.........................................12 1.2.2.1.1 OFDM ..................................................................................12 1.2.2.1.2 Scalable Bandwidth..............................................................13 1.2.2.1.3 Smart Antenna Technology..................................................14 1.2.2.1.4 Fast scheduling and AMC.....................................................14 1.2.2.1.5 No Soft(er) handover............................................................14 1.2.3.2 OFDM/OFDMA..............................................................................16 1.2.3.2.1 Traditional narrowband communication................................16 1.2.3.2.2 Problems for wideband signals.............................................1

EurekaLog_7.5.0.0_Enterprise

EurekaLog_7.5.0.0_Enterprise

EurekaLog 7.5 (18-August-2016) 1)..Important: Installation layout was changed. All packages now have version suffix (e.g. EurekaLogCore240.bpl). No files are copied to \bin folder of IDE. Run-time package (EurekaLogCore) is copied to Windows\System32 folder. Refer to help for more info. 2)....Added: RAD Studio 10.1 Berlin support 3)....Added: IDE F1 help integration (on CHM-based IDEs only, i.e. XE8+) 4)....Added "--el_injectjcl", "--el_createjcl", and "--el_createdbg" command-line options for ecc32/emake to inject JEDI/JCL debug info, create .jdbg file, and create .dbg file (Microsoft debug format). Later is supported when map2dbg.exe tool is placed in \Bin folder of EurekaLog installation (separate download is required) 5)....Added: Exception2HRESULT in EAppDLL to simplify developing DLLs with "DLL" profile 6)....Added: Use ShellExecute option for mailto send method 7)....Added: "Mandatory e-mail only when sending" option 8)....Added: Exception line highlighting in disassember view in EurekaLog exception dialog and Viewer 9)....Added: Detection/logging Delphi objects in disassembly view 10)..Added: Support for multi-monitor info 11)..Added: Support for detection of Windows 10 updates 12)..Added: OS edition detection 13)..Added: "User" and "Session" columns to processes list, processes list is also sorted by session first 14)..Added: Support for showing current user processes only 15)..Added: Expanding environment variables for "Support URL" 16)..Fixed: Range-check error on systems with MBCS ACP 17)..Fixed: 64-bit shared memory manager may not work 18)..Fixed: Possible "Unit XYZ was compiled with a different version of ABC" when using packages 19)..Fixed: FastMM shared MM compatibility 20)..Fixed: Minor bugs in stack tracing (which usually affected stacks for leaks) 21)..Fixed: Rare deadlocks in multi-threaded applications 22)..Fixed: Taking screenshot of minimized window 23)..Fixed: NT service may not log all exceptions 24)..Fixed: SSL port number for Bugzilla 25)..Fixed: Disabling "Activate Exception Filters" option was ignored 26)..Fixed: Missing FTP proxy settings 27)..Fixed: IntraWeb support is updated up to 14.0.64 28)..Fixed: Retrieving some process paths in processes list 29)..Fixed: CPU view rendering in EurekaLog exception dialog and Viewer 30)..Fixed: Some issues in naming threads 31)..Fixed: Removed exported helper _462EE689226340EAA982C5E8307B3F9E function (replaced with mapped file) 32)..Changed: Descriptions of EurekaLog project options now list corresponding property names of TEurekaModuleOptions class. 33)..Changed: Default template of HTML/web dialog now includes call stack by default 34)..Changed: EurekaLog 7 now can be installed over EurekaLog 6 automatically, with no additional actions/tools EurekaLog 7.4 (7.4.0.0), 26-January-2016 1)....Fixed: Performance issue in DLL exports debug information provider 2)....Fixed: Range-check error in Send dialog 3)....Fixed: Possible FPU control word unexpected change 4)....Fixed: JIRA sending to project with no version info 5)....Fixed: Viewer sorting affected by local region settings 6)....Fixed: Exception filters ignore settings for restart/terminate EurekaLog 7.3 Hotfix 2 (7.3.2.0), 20-October-2015 1)....Fixed: Added workaround for codegen bug in Delphi 7 (possibly - other), bug manifests itself as wrong date-time in reports or integer overflows 2)....Fixed: Some MAPI DLLs may not be loaded correctly 3)....Fixed: Handling SEC_I_INCOMPLETE_CREDENTIALS in SSPI code (added searching client certificate) 4)....Fixed: Range-check error when closing WinAPI dialog EurekaLog 7.3 Hotfix 1 (7.3.1.0), 2-October-2015 1)....Fixed: Long startup time on terminal services servers EurekaLog 7.3 (7.3.0.0), 24-September-2015 1)....Added: RAD Studio 10 Seattle support 2)....Added: Performance counters for run-time (internal logging with --el_debug) 3)....Fixed: spawned by ecc32/emake processes now start with the same priority 4)....Fixed: ThreadID = 0 in StandardEurekaNotify 5)....Fixed: Dialog auto-close timer may reset without user input 6)....Fixed: Possible hang when quickly loading/unloading EurekaLog-enabled DLL 7)....Fixed: Possible hang in COM DLLs 8)....Fixed: Removed some unnecessary file system access on startup 9)....Fixed: Possible wrong font size in EurekaLog tools 10)..Fixed: Ignore timeouts from Shell_NotifyIcon 11)..Fixed: Possible failure to handle/process stack overflow exceptions 12)..Changed: VCL/CLX/FMX now will assign Application.OnException handler when low-level hooks are disabled EurekaLog 7.2 Hotfix 6 (7.2.6.0), 14-July-2015 1)....Added: csoCaptureDelphiExceptions option 2)....Fixed: Handling of SECBUFFER_EXTRA in SSPI code 3)....Fixed: Several crashes in sending code for very old Delphi versions 4)....Fixed: Regression (from hotfix 5) crash in some IDEs EurekaLog 7.2 Hotfix 5 (7.2.5.0), 1-July-2015 1)....Added: HKCU\Software\EurekaLab\Viewer\4.0\UI\Statuses registry key to allow status customizations in Viewer 2)....Added: "Disable hang detection under debugger" option 3)....Fixed: Wrong button caption in standalone "Steps to reproduce" dialog 4)....Fixed: Wrong passing of Boolean parameters in JSON (affects JIRA) 5)....Fixed: Wrong sorting of BugID, Count and DateTime columns in Viewer 6)....Fixed: Empty "Count" field/column is now displayed as "1" in Viewer 7)....Fixed: Generic names with "," could not be decoded in Viewer 8)....Fixed: Updated Windows 10 detection for latest builds of Windows 10 9)....Fixed: Sleep and hybernation no longer trigger false-positive "application freeze" 10)..Fixed: Wrong function codes for hooking (affects ISAPI application type) 11)..Fixed: Wrong button caption in "Steps to Reproduce" dialog 12)..Fixed: Crash when taking snapshot of some proccesses by Threads Snapshot tool 13)..Fixed: Minor improvements in leak detection EurekaLog 7.2 Hotfix 4 (7.2.4.0), 10-June-2015 1)....Added "ECC32TradeSpeedForMemory" option - defaults to 0/False, could be changed to 1 via Custom/Manual tab. This option will switch from fast-methods to slower methods, but which take less memory. Use 0 (default) for small projects, use 1 for large projects (if ecc32 runs out of memory). 2)....Added: --el_DisableDebuggerPresent command-line option for compatibility with 3rd party debuggers (AQTime, etc.) 3)....Added: AQTime auto-detect 4)....Fixed: Performance optimizations 5)....Fixed: Windows 8+ App Menu shortcuts 6)....Fixed: Unmangling on x64 EurekaLog 7.2 Hotfix 3 (7.2.3.0), 20-May-2015 1)....Added: Support for token auth in Bugzilla (latest 4.x builds) 2)....Added: Support for API key auth in Bugzilla (5.x) 3)....Added: Support for /EL_DisableMemoryFilter command-line option 4)....Added: Asking e-mail when user switches to "details" from MS Classic without entering e-mail 5)....Fixed: Compatibility issues with older Bugzilla versions (3.x) 6)....Fixed: Passing settings between dialogs 7)....Fixed: "Ask for steps to reproduce" dialog is now DPI-aware 8)....Fixed: Silently ignore and fix invalid values in project options EurekaLog 7.2 Hotfix 2 (7.2.2.0), 30-April-2015 1)....Fixed: Confusing message in Manage tool when using with Trial/Pro 2)....Fixed: Range check error in processes information for x64 machines (affects startup of any EurekaLog-enabled module) 3)....Fixed: Auto-detect personality by project extension if --el_mode switch is missing 4)....Fixed: More details for diagnostic sending 5)....Fixed: Wrong settings for MAP files in C++ Builder 6)....Fixed: Wrong code page was used to decode ANSI bug reports 7)....Fixed: Attaching .PAS files instead of .OBJ in C++ Builder 2006+ Pro/Trial EurekaLog 7.2 Hotfix 1 (7.2.1.0), 3-April-2015 1)....Fixed: Wrong float-str convertion when ThousandSeparator is '.' EurekaLog 7.2 (7.2.0.0), 1-April-2015 1)....Important: TEurekaLogV7 component was renamed to TEurekaLogEvents. Please, update your projects by renaming or recreating the component 2)....Important: File layout was changed for BDS 2006+. Delphi and C++ Builder files are now located in StudioNum folders instead of old DelphiNum and CBuilderNum folders. Update your search paths if needed 3)....Added: Major improvements in DumpAllocationsToFile function (EMemLeaks unit) 4)....Added: MemLeaksSetParentBlock, MemLeaksOwn, EurekaTryGetMem functions (EMemLeaks unit) 5)....Added: Improvements for call stack of dynarrays/strings allocations (leaks) 6)....Added: "Elem size" when reporting leaks in dynarrays 7)....Added: Streaming unpacked debug info into temporal files instead of memory - this greatly reduces run-time application memory usage at cost of slightly slower exception processing. This also reduces memory footprint for ecc32/emake 8)....Added: Showing call stacks for 2 new types of fatal memory errors 9)....Added: EMemLeaks._ReserveOutOfMemory to control reserve size of out of memory errors (default is 50 Mb) 10)..Added: "MinLeaksLimitObjs" option (EMemLeaks unit) 11)..Added: Fatal memory problem now pauses all threads in application 12)..Added: Fatal memory problem now change thread name (to simplify debugging) 13)..Added: boPauseELThreads and boDoNotPauseELServiceThread options (currently not visible in UI) 14)..Added: Support for texts collections out of default path 15)..Added: Support for relative file paths to text collections and external settings 16)..Added: Support for environment variables in project option's paths 17)..Added: Support for relative file paths and environment variables for events and various module paths 18)..Added: Logging in Manage tool 19)..Added: Windows 10 version detection 20)..Added: Stack overflow tracing 21)..Added: Major improvements in removal of recursive areas from call stack 22)..Added: Statistics collection 23)..Added: Support for uploading multiple files in JIRA 24)..Added: EResLeaks improvements (new funcs: ResourceAdd, ResourceDelete, ResourceName; support for realloc-like functions) 25)..Fixed: Added workaround for bug in JIRA 5.x 26)..Fixed: Rare EurekaLog internal error 27)..Fixed: Ignored unhandled thread exceptions (when EurekaLog is disabled) now triggers default OS processing (WER) 28)..Fixed: Irnored exceptions (via per-exception/events) now bring up default RTL handler 29)..Fixed: Format error in Viewer 30)..Fixed: Leak of EurekaLog exception information object 31)..Fixed: Wrong chaining exceptions inside GetMem/FreeMem 32)..Fixed: Memory leak after low-level unhook of function 33)..Fixed: Re-parenting after ReallocMem 34)..Fixed: Editing SMTP server options 35)..Fixed: SMTP server not using real user e-mail in FROM field 36)..Fixed: Some multi-threading crashes 37)..Fixed: Fixed crashes in Manage tool 38)..Fixed: Range-check error in Viewer 39)..Fixed: EurekaLog error dialog appearing under other windows 40)..Fixed: AV when parsing TDS (emake/C++ Builder specific) 41)..Fixed: Unable to build call stacks for other threads due to insufficient rights 42)..Fixed: Version checks for BugZilla and JIRA 43)..Fixed: Not catching out-of-module AVs when "Capture exceptions only from current module" option is checked 44)..Fixed: Checking for remaining exceptions at shutdown (C++ Builder specific, AcquireExceptionObject returns wrong info) 45)..Fixed: "get call stack of ... threads" / "suspend ... threads" options (avoid rare multithreading race conditions) 46)..Fixed: Crash when naming thread without EurekaLog thread info 47)..Fixed: Detection of immediate caller for memory funcs 48)..Fixed: Non-working Assign for options 49)..Fixed: Handling of explicitly chained exceptions 50)..Fixed: Various exception/threading fixes for MS debug provider 51)..Fixed: Processing hardware unhandled exceptions (QC #55007) 52)..Fixed: Unchecking dialog options when export/import 53)..Fixed: BSTR leak 54)..Fixed: JIRA decimal separator bug 55)..Changed: Now unhandled exceptions will be handled by EurekaLog even if EurekaLog is disabled in the thread - only global EurekaLog-enabled status is respected 56)..Changed: Viewer version now matches version of EurekaLog 57)..Changed: DeleteServiceFilesOption now always False by default 58)..Changed: Speed improvements for known memory leaks (reserved leaks) 59)..Changed: Improved logging for sending 60)..Changed: Switching to detailed mode without entering (mandatory) e-mail: now EL will not block this 61)..Changed: .ToString for exception info now uses compact stack formatter 62)..Removed: Custom field editor (replaced it with link to "Custom" page) 63)..Removed: EurekaLog 7 no longer could be installed over EurekaLog 6. Manage tool from EurekaLog 7 will no longer work with EurekaLog 6. EurekaLog 7.1 update 1 (7.1.1.0), 19-October-2014 1)....Added: "Send in separated thread" option 2)....Added: Hang detection will now use Wait Chain Traversal (WCT) on Vista+ systems to detect deadlocks in any EurekaLog-enabled threads 3)....Added: OS install language and UI language fields in bug report 4)....Fixed: Viewer is not able to decrypt reports with generics 5)....Fixed: EVariantTypeCastError in Viewer when changing status of some bug reports 6)....Fixed: EcxInvalidDataControllerOperation in Viewer 7)....Fixed: Stack overflow at run-time for certain combination of project options 8)....Fixed: BMP re-draw bug in UI dialogs 9)....Fixed: Rogue "corrupted" error message for valid ZIPs of certain structure 10)..Fixed: Various range check errors in Viewer 11)..Fixed: Possible encoding errors for non-ASCII reports in Viewer on certain environments 12)..Fixed: Wrong count in Viewer when importing reports without proper "count" field 13)..Fixed: Duplicate reports may appear in bug report file when "Do not save duplicate errors" option is checked 14)..Fixed: False-positive detection of some virtual machines 15)..Fixed: Processing of exceptions from message handlers during message pumping cycle inside exception dialogs 16)..Fixed: Access Violation if exception dialog was terminated by exception 17)..Fixed: Hardware exceptions from unit's initialization/finalization may be unprocessed 18)..Changed: "VIEW" action for Viewer now will open ALL bug reports inside bug report file; reports will not be merged by BugID. "IMPORT" action remains the same: duplicate reports are merged, "count" is increased 19)..Changed: Charset field in bug report now shows both charset and code page EurekaLog 7.1 (7.1.0.00), 23-September-2014 1)....Added: XE7 support 2)....Added: XE6 support 3)....Added: New DLL demo 4)....Added: Custom profiles are now shown in "Application type" combo-box 5)....Added: Non-empty "steps to reproduce" will be added to existing bug tracker issues with empty "steps to reproduce" 6)....Added: Support for custom fields in FogBugz (API version 8 and above) 7)....Added: Support for unsequenced line numbers in PDB/DBG files (--el_source switch) 8)....Fixed: XML bug report were generated wrong 9)....Fixed: Strip relocations code for Win64 10)..Fixed: EurekaLog conditional symbols removed improperly when deactivating EurekaLog 11)..Fixed: Sending reports to non-default port numbers (affects web-based methods) 12)..Fixed: SSL validation check may reject valid SSL certificate (SMTP Client/Server) 13)..Fixed: SSL errors may be not reported 14)..Fixed: Viewer did not consider empty bug reports as corrupted 15)..Fixed: "DLL" profile now can be used with packages properly 16)..Fixed: Few rare memory leaks 17)..Fixed: Possible deadlock when using MS debug info provider 18)..Fixed: C++ Builder project files was saved incorrectly (RAD Studio 2007+) 19)..Fixed: "Show restart checkbox after N errors" counts handled exceptions 20)..Fixed: IDE expert's DPR parser (added support for multi-part idents) 21)..Fixed: Rare access violation in hook code 22)..Fixed: Thread handle leaks (added _NotifyThreadGone/_CleanupFinishedThreads functions to be called manually - only when low-level hooks are not installed) 23)..Fixed: EurekaLog's installer hang 24)..Fixed: Bug in object/class validation 25)..Fixed: Bug when using TThreadEx without EurekaLog 26)..Fixed: Leaks detection may not work with certain combination of options 27)..Fixed: Deadlock in some cases when using EurekaLog threading option set to "enabled in RTL threads, disabled in Windows threads". 28)..Changed: TEurekaExceptionInfo.CallStack will be nil until exception is actually raised 29)..Changed: FogBugz and BugZilla: changed bugs identification within project (to allow two bugs exists with same BugID in different projects) 30)..Changed: Blocked manual creation/destruction of ExceptionManager class and EurekaExceptionInfo 31)..Changed: ECC32/EMAKE runs from IDE without changing priority, added ECC32PriorityClass option 32)..Improved: Minor help and text improvements EurekaLog 7.0.07 Hotfix 2 (7.0.7.2), 11-December-2013 1)....Fixed: Delphi compiler code generation bug (Delphi 2007 and below) 2)....Fixed: Code hooks may rarely be set incorrectly (code stub relocation fails) 3)....Fixed: Win64 call stacks functions now work more similar to 32 bit call stacks EurekaLog 7.0.07 Hotfix 1 (7.0.7.1), 2-December-2013 1)....Added: Alternative caption for e-mail input control when e-mail is mandatory 2)....Fixed: Rare range check error in WinAPI visual dialogs 3)....Fixed: Wrong error detection for OnExceptionError event 4)....Fixed: Wrong TResponce processing 5)....Fixed: Problems with encrypted call stack decoding 6)....Fixed: OnPasswordRequest event may have no effect EurekaLog 7.0.07 (7.0.7.0), 25-November-2013 1)....Added: Ability to use Assign between call stack and TStrings 2)....Added: 64-bit disassembler 3)....Added: Support for variables and relative file paths in "Additional Files" send option 4)....Added: --el_source switch for ecc32/emake compilers 5)....Added: support for post-processing non-Embarcadero executables 6)....Added: EOTL.pas unit for better OmniThreadLibrary integration 7)....Added: RAD Studio XE5 support 8)....Added: New "Capture call stacks of EurekaLog-enabled threads" option 9)....Added: "Deferred call stacks" option for 64-bit 10)..Added: Copy report to clipboard now copies both report text and report file 11)..Added: "AttachBothXMLAndELReports" option to include both .elx and .el files into bug report 12)..Added: EMemLeaks.MemLeaksErrorsToIgnore option to exclude certain memory errors from being considered as fatal 13)..Added: Call stack with any encrypted entry will be fully encrypted now 14)..Added: Option to exclude certain memory errors from being considered as fatal (EMemLeaks.MemLeaksErrorsToIgnore) 15)..Added: New "HTTP Error Code" option for all web-based dialogs (CGI, ISAPI, etc.) 16)..Added: Support for Unicode in Simple MAPI send method (requires Windows 8 or latest Microsoft Office) 17)..Added: New value for call stack detalization option (show any addresses, including those not belonging to any executable module) 18)..Fixed: Wrong JSON escaping for strings (affects JIRA send method) 19)..Fixed: Range-check error in Viewer when viewing bug reports with high addresses 20)..Fixed: Selecting Win32 service application type is no longer resets to custom/unsupported 21)..Fixed: Possible hang when testing dialogs from EurekaLog project options dialog 22)..Fixed: Rare resetting of some options when saving .eof file 23)..Fixed: Exception pointer could be removed from call stack due to debug details filtering 24)..Fixed: Rare case when LastThreadException returned nil while there was active thread exception 25)..Fixed: Rare case when ShowLastThreadException do nothing 26)..Fixed: Improved compatibility for OmniThreadLibrary and AsyncCalls 27)..Fixed: Included fix for QC #72147 28)..Fixed: 64-bit MS Debug Info Provider (please, re-setup cache options using configuration dialog) 29)..Fixed: "Deferred call stacks" option failed to capture call stack when exception is re-raised between threads 30)..Fixed: "Deferred call stacks" option may produce cutted call stack in rare cases 31)..Fixed: Several minor call stacks improvements and optimizations 32)..Fixed: Several 64-bit Pointer Integer convertion issues 33)..Fixed: Multi-threading deadlock issue 34)..Fixed: Black screenshots in 64 bit applications 35)..Fixed: Copying to clipboard hot-key was registered globally 36)..Fixed: Shell (mailto) send method may fail (64 bit) 37)..Fixed: Possible wrong file paths for attaches in (S)MAPI send methods 38)..Fixed: Environment variables were not expanded in MAPI send method 39)..Fixed: (non-Unicode IDE) EurekaLog is not activated when application started from folder with Unicode characters 40)..Fixed: Encrypted call stacks may be encrypted partially by EurekaLog Viewer in rare cases 41)..Fixed: Crash when sending leak report with visual progress dialog (only some IDEs are affected) 42)..Fixed: ecc32/emake could not see external configuration file with the same name as project (e.g. Project1.eof for Project1.dpr) 43)..Fixed: Added missed RTL implementation for ExternalProps in Delphi 6 (affects Mantis sending) 44)..Fixed: IDE crash when switching to threads window 45)..Changed: Removed temporal solution which was used before option to defer call stack creation was introduced 46)..Changed: "Default EurekaLog state in new threads" option is changed from Boolean flag into enum. You need to re-setup this option 47)..Changed: Disable EurekaLog for thread when creating call stack or handle exception - this increases stability and performance 48)..Changed: LastException property is remove from exception manager as not thread safe. Use LastThreadException property instead 49)..Changed: Lock/Unlock from thread manager and exception manager are removed to avoid deadlocks 50)..Changed: ThreadsSnapshot tool now tries to capture call stack without injecting DLL 51)..Changed: Build events now runs with CREATE_NO_WINDOW flag (console window is hidden) 52)..Improved: More articles in help EurekaLog 7.0.06 (7.0.6.0), 1-June-2013 1)....Added: Experimental 64 bit C++ Builder support 2)....Added: New tab in EurekaLog project options: "External tools" 3)....Added: Option to catch all IDE errors (to debug your own IDE packages) 4)....Added: Option to catch only exceptions from current module 5)....Added: Option to defer building call stack 6)....Added: RAD Studio XE4 support 7)....Added: Support for AppWave 8)....Fixed: Fixed event handlers declarations for the EurekaLog component 9)....Fixed: Infinite recursive calls when using ToString from EndReport event handler 10)..Fixed: UPX compatibility issue 11)..Fixed: Range check errors for system error codes 12)..Fixed: Rare IDE stack overflow 13)..Fixed: JIRA unit was not added automatically 14)..Fixed: EurekaLog no longer tries to check for leaks when memory manager filter is disabled 15)..Fixed: Possible deadlock on shutdown with freeze checks active 16)..Fixed: Issues with settings dialog and Win32 Service application type 17)..Fixed: ThreadSnapshot tool was not able to take snapshots of Win64 processes 18)..Fixed: WCT is disabled for leaks 19)..Fixed: TContext declarations for Win64 20)..Fixed: Check for updates now correctly sets time of last check 21)..Fixed: (Win64) Several Pointer Integer convertion errors 22)..Fixed: Internal error when exception info object was deleted while it was still used by SysUtils exception object 23)..Fixed: Semeral problems with "EurekaLog look & feel" style for EurekaLog error dialog 24)..Fixed: Using text collection resets exception filters 25)..Fixed: Rare access violation if registering event handlers is placed too early 26)..Fixed: SMTP RFC date formatting 27)..Fixed: Rare empty call stack bug 28)..Fixed: Hang detection was not working if EurekaLog was disabled in threads 29)..Fixed: AV for double-free TEncoding 30)..Changed: ecc32/emake no longer alters arguments for dcc32/make unless new options --el_add_default_options is specified 31)..Changed: Save/load options methods was moved to TEurekaModuleOptions class 32)..Changed: Saving options to EOF file now adds hidden options and removes obsolete options (only when compatibility mode is off) 33)..Changed: Compiling installed packages now silently ignores EurekaLog instead of showing "File is in use" error message 34)..Improved: More readable disk/memory sizes in bug reports 35)..Improved: More descriptive settings dialog when using external configuration 36)..Improved: ThreadSnapshot tool now aquired DEBUG priviledge for taking snapshot. This allows it to bypass security access checks when opening target process. 37)..Improved: Changed BugID default generation to include error code for OS errors and error message for DB errors 38)..Improved: Mantis API (WSDL) was updated to the latest version (1.2.14) 39)..Improved: IntraWeb compatibility (old and new versions) 40)..Improved: COM applications compatibility 41)..Improved: Build events now accept shell commands 42)..Improved: More articles in help EurekaLog 7.0.05 (7.0.5.0), 7-February-2013 1)....Added: JIRA support 2)....Added: Virtual machine detection (new field in bug reports) 3)....Fixed: "Use Main Module options" option was loading empty options for some cases 4)....Fixed: Wrong record declarations for Simple MAPI on Win64 5)....Fixed: Performance issues with batch module options updating 6)....Fixed: Wrong leaks report with both MemLeaks/ResLeaks options active 7)....Fixed: Wrong info for nested exceptions in some cases 8)....Fixed: AV under debugger for Win64 (added support for _TExitDllException) 9)....Fixed: Wrong record declarations for process/thread info on Win64 10)..Fixed: Support for FinalBuilder on XE2/XE3 with spaces in file paths 11)..Fixed: Rare double-free of module information (ModuleInfoList) 12)..Fixed: Rare External Exception C000071C on shutdown (only under debuggger) 13)..Fixed: Added large addresses support in Viewer 14)..Fixed: Counter options in memory leaks category is now working properly 15)..Fixed: Rare range-check error in TEurekaModulesList.AddModuleFromFileName 16)..Fixed: FTP force directories dead lock 17)..Fixed: Fixed wrong index being used when clearing compatibility mode (EurekaLog project options dialog) 18)..Fixed: Default thread state do not affect main thread now 19)..Fixed: Sometimes wrong thread may be used when altering EurekaLog active state for external thread 20)..Fixed: Wrong DNS lookup on ANSI 21)..Fixed: Problems with IDE expert and projects on network paths 22)..Fixed: Added support for arguments in URLs (HTTP sending) 23)..Fixed: Possible deadlock in multithreaded applications 24)..Fixed: Problems with unicode characters in project files on non-Unicode IDEs 25)..Fixed: Infinite recursive calls when using ToString from EndReport event handler 26)..Fixed: Win64 GetCaller now returns pointer to call instruction, not return address 27)..Improved: Standalone Editor do not force save/load folder by default 28)..Improved: DLL profile now can use additional application type hooks automatically 29)..Improved: EurekaLog now able to work with read-only projects (see help for more info) EurekaLog 7.0.04 (7.0.4.0), 2-December-2012 1)....Added: Support for nested exceptions in DLLs 2)....Fixed: Options bug in EurekaLogSendEmail function 3)....Fixed: Weird behaviour for steps to reproduce and custom fields 4)....Fixed: Installation for single personality (BDS) 5)....Fixed: Range check error in EModules 6)....Fixed: Bug in exception destroy hook 7)....Fixed: OnExceptionNotify event is no longer called for handled exceptions without option checked 8)....Fixed: DEP checks on startup no longer cause exception 9)....Fixed: Invalid declaration for MS Debug API 10)..Fixed: OLE mode change error for "Test" send button 11)..Fixed: Fixes for multiply loading of the same DLL 12)..Fixed: Removed PNG compression from icons (tools) 13)..Fixed: Range-check error in dialogs with EurekaLog style enabled 14)..Fixed: Send progress dialog may keep busy forever processing window messages (message flood from rapid application GUI updates) 15)..Fixed: Thread pausing options now work correctly 16)..Improved: New features in exception filters - marking exceptions as "expected", filtering by properties (RTTI) 17)..Improved: Recovery from memory errors without debugging memory manager 18)..Improved: Viewer's password edit now hides password with asterisks 19)..Updated: Changed names of .inc files to avoid name conflicts with other libraries 20)..Updated: Help EurekaLog 7.0.03 (7.0.3.0), 6-October-2012 1)....Fixed: Removed some consts keywords for event handlers, so now C++ Builder can alter arguments (this change may require you to adjust your custom code) 2)....Fixed: Fallback code for false-positive results on memory probing 3)....Fixed: Range check errors in SSL/TLS implementation 4)....Fixed: "EurekaLog is not active" error message during send testing 5)....Fixed: Incorrect memory probing when DEP is off (old systems) 6)....Fixed: Installation of 64-bit BPLs 7)....Fixed: Dialog preview 8)....Fixed: Win64 fixes for XE3 9)....Fixed: Support for project groups (mixed project types) 10)..Fixed: Windows 2000 hooks compatibility 11)..Fixed: mailto double quotes escaping 12)..Fixed: Simple MAPI WOW compatibility 13)..Fixed: Simple MAPI modal issues 14)..Fixed: Various range check errors 15)..Changed: Removed minor version number from program group name 16)..Updated: Help EurekaLog 7.0.02 hot-fix 1 (7.0.2.1), 12-September-2012 1)....Fixed: Range check error in Viewer 2)....Fixed: Bug in hooking code EurekaLog 7.0.02 (7.0.2.0), 11-September-2012 1)....Added: Improved memory problems detection 2)....Added: Minor IDE Expert usability improvements 3)....Added: Auto-size feature for detailed error dialog 4)....Added: Workaround for QC #106935 5)....Added: Workaround for bug in InvokeRegistry (SOAP/Mantis) 6)....Fixed: Nested OS exceptions 7)....Fixed: Multiply Win64 fixes 8)....Fixed: Compatibility mode fixes 9)....Fixed: Altered behaviour of "Add BugID/Date/ComputerName" options 10)..Fixed: Blank screenshots 11)..Fixed: Check file for corruptions 12)..Fixed: Viewer is unable to decrypt certain bug reports 13)..Fixed: Internal DoNoTouch option now works for post-processing and condtionals 14)..Fixed: Possible out of memory error for "Do not store class/procedure names" option 15)..Fixed: EurekaLog did not properly install itself when there is only Delphi installed, but no C++ Builder of the same version (or visa versa) 16)..Fixed: Wrong argument for OnRaise event 17)..Fixed: Handling memory errors in initialization/finalization sections 18)..Fixed: Updating steps to reproduce and user e-mail in bug report 19)..Fixed: Proper Success/Failure for some errors during SMTP send 20)..Added: Workaround for wrong GUI fonts 21)..Added: Delphi XE3 support 22)..Added: Individual options for each exception EurekaLog 7.0.01 (7.0.1.0), 28-June-2012 1)....Added: New "Modal window" option (MS Classic and EurekaLog dialogs) 2)....Added: New "Owned window" option (MS Classic and EurekaLog dialogs) 3)....Added: New "Catch EurekaLog IDE Expert errors" option 4)....Added: Backup memory manager to recover from critical errors 5)....Added: Alternative methods to provide additional features when memory filter is not set 6)....Fixed: Contains fixes from hotfixes 1-3 7)....Fixed: Performance improvements 8)....Fixed: Improved IDE Expert's speed, stability and compatibility with other 3rd party extensions 9)....Fixed: MS Classic dialog size adjustments for large "click here" translations 10)..Fixed: Fixed resetting few EurekaLog project options to defaults 11)..Fixed: Multiplying exception filters when options are assigned (for example: when switching to/from "Custom" page in project options) 12)..Fixed: (Compatibility mode) Fixed send options merging 13)..Fixed: Updated help EurekaLog 7.0 hot-fix 3 (7.0.0.273), 20-June-2012 --------------------------- 1)....Fixed: ERangeError in EResLeaks (THandle Integer) 2)....Fixed: C++ Builder breakpoints for large projects 3)....Fixed: Help (updates policy changed) 4)....Fixed: Text collections applying 5)....Fixed: Build events are now called for unlocked file 6)....Fixed: Proper handling of C++ Builder project options files from Delphi code (settings editor and IDE expert) 7)....Fixed: Terminate/Checked sub-option for MS Classic dialog 8)....Fixed: Confusing message for already post-processed executables 9)....Fixed: Access violation for some EurekaLog IDE menu items when no project was loaded 10)..Fixed: Invoking help for "Variables" window 11)..Fixed: EurekaLog Viewer version info 12)..Fixed: Events in components 13)..Added: Retry option for "Sorry, you must close all running IDE instances before installation" 14)..Added: Italian translation 15)..Added: Actual change log is now included into installer 16)..Added: Even more setup logging 17)..Added: New help articles (recompilation and manual installation) EurekaLog 7.0 hot-fix 2 (7.0.0.261), 10-June-2012 --------------------------- 1)....Fixed: Wrong version info reporting to IDE 2)....Added: Workaround for Delphi 2005 TListView bug 3)....Added: Workaround for possible invalid FPU state in exception handlers 4)....Added: Missed declarations for ExceptionLog (compatibility mode) 5)....Fixed: Work for unsaved projects 6)....Added: Escaping for '--' in options (confuses IDE's XML parsing) 7)....Added: Storing thread's class/name in call stack for terminated threads 8)....Added: More setup logging 9)....Fixed: Help (broken links) 10)..Added: "Upgrade to EurekaLog 7" help topic 11)..Fixed: Clean up installed files EurekaLog 7.0 hot-fix 1 (7.0.0.256), 6-June-2012 --------------------------- 1)....Fixed: Invalid Format() arguments in ELogBuilder. EurekaLog 7.0, 1-June-2012 --------------------------- 1)....Improved: Main change - EurekaLog's core was rewritten (refactored) to allow more easy modification and remove hacks. 2)....Improved: New plugin-like architecture now allows you to exclude unused code. 3)....Improved: New plugin-like architecture now allows you to easily extends EurekaLog. 4)....Improved: Greatly extended documentation. 5)....Improved: Installer is now localized. 6)....Improved: Greatly speed ups creation of minimal bug report (with most information disabled). 7)....Changed: EurekaLog's root IDE menu was relocated to under Tools and extended with new items. 8)....Added: New examples. 9)....Added: New tools (address lookup, error lookup, threads snapshot, standalone settings editor). 10)..Added: Support for DBG/PDB formats of debug information (including symbol server support and auto-downloading). 11)..Added: Support for madExcept debug information (experimental). 12)..Added: WER (Windows Error Reporting) support. 13)..Added: Full unicode support. 14)..Added: Professional and Trial editions: added source code (interface sections only) 15)..Improved: Dialogs - new options and new customization possibilities: 16)..Added: All GUI dialogs: ability to test dialog directly from configuration dialog by displaying a sample window with currently specified settings. 17)..Improved: All GUI dialogs: dialogs are DPI-awared now (auto-scale for different DPI). 18)..Added: MessageBox dialog: added detailed mode (shows a compact call stack). 19)..Added: MessageBox dialog: added ability for asking a send consent. 20)..Added: MessageBox dialog: added support to switch to "native" message box for application. 21)..Added: MS Classic dialog: added control over "user e-mail" edit's visibility. 22)..Added: MS Classic dialog: added ability to personalize dialog view with application's name and icon. 23)..Added: MS Classic dialog: added ability to show terminate/restart checkbox initially checked. 24)..Added: EurekaLog dialog: added ability to personalize dialog view with application's name and icon. 25)..Added: EurekaLog dialog: added ability to show terminate/restart checkbox initially checked. 26)..Added: EurekaLog dialog: added ability to switch back to non-detailed view. 27)..Added: WEB dialog: added new tags to customize bug report page. 28)..Improved: WEB dialog: improved support for unicode and charset. 29)..Added: New dialog type: RTL dialog. 30)..Added: New dialog type: console output. 31)..Added: New dialog type: system logging. 32)..Added: New dialog type: Windows Error Reporting. 33)..Improved: Sending - new options and new customization possibilities: 34)..Added: All send methods: added ability to setup multiply send methods. 35)..Added: All send methods: added ability to change send method order. 36)..Added: All send methods: added separate settings for each send method. 37)..Added: All send methods: ability to test send method directly from configuration dialog by sending a demo bug report. 38)..Added: SMTP client send method: added SSL support. 39)..Added: SMTP client send method: added TLS support. 40)..Added: SMTP client send method: added option for using real e-mail address. 41)..Added: SMTP server send method: added option for using real e-mail address. 42)..Added: HTTP upload send method: added support for custom backward feedback messages. 43)..Added: FTP upload send method: added creating folders on FTP (like remote ForceDirectories). 44)..Added: Mantis send method: added API support (MantisConnect, out-of-the-box since Mantis 1.1.0, available as add-on for previous versions). 45)..Added: Mantis send method: added support for custom "Count" field. 46)..Added: Mantis send method: added options for controlling duplicates. 47)..Added: Mantis send method: added support for SSL/TLS. 48)..Added: FogBugz send method: added API support (out-of-the-box since ForBugz 7, available as add-on for FogBugz 6). 49)..Added: FogBugz send method: EurekaLog will update "Occurrences" field (count of bugs). 50)..Added: FogBugz send method: EurekaLog will respect "Stop reporting" option (BugzScout's setting). 51)..Added: FogBugz send method: EurekaLog will respect "Scout message" option (BugzScout's setting). 52)..Added: FogBugz send method: EurekaLog will store client's e-mail as issue's correspondent. 53)..Added: FogBugz send method: added options for controlling duplicates. 54)..Added: FogBugz send method: added support for "Area" field. 55)..Added: FogBugz send method: added support for SSL/TLS. 56)..Added: BugZilla send method: added API support. 57)..Added: BugZilla send method: added support for custom "Count" field. 58)..Added: BugZilla send method: added options for controlling duplicates. 59)..Added: BugZilla send method: added support for SSL/TLS. 60)..Added: New send method: Shell (mailto protocol). 61)..Added: New send method: extended MAPI. 62)..Added: Support for separate code and debug info injection. 63)..Added: Ability to use custom units before EurekaLog's units. 64)..Added: Support for external configuration file in IDE expert. 65)..Added: Now EurekaLog stores only those project options which are different from defaults (to save disk space and reduce noise in project file). 66)..Added: Now EurekaLog stores project options sorted (alphabet order). 67)..Added: Separate settings for saving modules and processes lists to bug report. 68)..Added: Support for taking screenshots of multiply monitors. 69)..Added: More screenshot customization options. 70)..Added: More control over bug report's file names. 71)..Added: New environment variables. 72)..Added: Deleting .map file after compilation. 73)..Added: Support for different .dpr and .dproj file names. 74)..Improved: memory leaks detection feature - new options and new customization possibilities: 75)..Added: Ability to track memory problems without activation of leaks checking. 76)..Added: Support for sharing memory manager. 77)..Added: Support for tracking leaks in applications built with run-time packages. 78)..Added: Option to zero-fill freed memory. 79)..Added: Option to enable leaks detection only when running under debugger. 80)..Added: Option for manual activation control for leaks detection (via command-line switches). 81)..Added: Option to select stack tracing method for memory problems. 82)..Added: Option to trigger memory leak reporting only for large leaked memory's size. 83)..Added: Option to control limit of number of reported leak. 84)..Added: CheckHeap function to force check of heap's consistency. 85)..Added: DumpAllocationsToFile function to save information about allocated memory to log file. 86)..Added: Registered leaks feature. 87)..Added: Run-time control over memory leak registering. 88)..Added: New recognized leak type: String (both ANSI and Unicode are supported). 89)..Added: Memory features support for C++ Builder. 90)..Added: Resource leaks detection feature. 91)..Improved: Compilation speed increased. 92)..Added: Support for generics in debug information. 93)..Added: Chained/nested exceptions support. 94)..Added: Wait Chain Traversal support. 95)..Added: Support for named threads. 96)..Added: Additional information for threads in call stack. 97)..Improved: EurekaLog Viewer Tool: 98)..Added: Now Viewer has its own help file 99)..Added: Viewer now supports a FireBird based database on local file or remote server. 100).Added: You can have more that one user account for FireBird based database. 101).Added: Viewer now can be launched in View mode (Viewer can be configured to any DB or View mode). 102).Added: Viewer's database now supports storing files, associated with the report (you can also add and remove files manually). 103).Added: Viewer supports "Import" and "View" commands for report files. 104).Improved: Extended support for more log formats (XML, packed ELF, etc). 105).Added: Columns in report's list now can be configured (you can hide and show them). 106).Added: There are a plenty of new columns added to report's list. 107).Added: Ability of auto-download reports from e-mail account. 108).Improved: printing - now you can print the entire report (including screenshots). Old behaviour of printing just one tab (call stack only, for example) also remains. 109).Added: Viewer can now have more that one run-time instance . 110).Added: File import status dialog is now configurable (you can disable it, if you want to). 111).Added: There is a preview area for screenshots, available in reports. 112).Improved: Now Viewer is more Vista-friendly (i.e. file associations are managed in HKCU, rather that in HKLM, storing configuration in user's Application Data, etc, etc). 113).Added: Report's list now supports multi-select, so operations can be performed on many reports at time. 114).Added: There are plenty of new command line abilities, like specifying several files and new switches. 115).Improved: Bunch of minor changes and improvements. WARNING: -------- There are many changes in this release. See the "Changed from the old 6.x version" help topic for further information! EurekaLog 7 also have "EurekaLog 6 backward compatibility mode". Please, refer to help file for more information. We also have the detailed "Upgrade guide" in our help system.

vim插件打包

vim插件打包

vim中~/.vim 插件打包 ./vimrc文件内容为 "允许鼠标的使用,防止linux终端下无法拷贝 if has('mouse') set mouse=a endif au GUIEnter * simalt ~x "字体的设置 set guifont=Bitstream_Vera_Sans_Mono:h9:cANSI "记住空格用下划线代替哦 set gfw=幼圆:h10:cGB2312 syn on "语法支持 syntax enable colorscheme desert filetype plugin on filetype indent on set nocompatible set history=5000 set autoread set mouse=a "common conf {{ 通用配置 set ai "自动缩进 set bs=2 "在insert模式下用退格键删除 set showmatch "代码匹配 set laststatus=2 "总是显示状态行 set expandtab "以下三个配置配合使用,设置tab和缩进空格数 set shiftwidth=4 set tabstop=4 "set cursorline "为光标所在行加下划线 set number "显示行号 set autoread "文件在Vim之外修改过,自动重新读入 set ignorecase "检索时忽略大小写 "set encoding=utf-8 fileencoding=utf-8 fileencodings=utf-8,latin1,ucs-bom,gb2312,gb18030,cp936,big5,euc-jp,euc-kr set fileencodings=utf-8,gb2312,gbk,gb18030,latin1,usc-bom,cp936,big5,euc-jp,euc-kr set termencoding=utf-8 set encoding=utf-8 set hls "检索时高亮显示匹配项 "set foldmethod=syntax "代码折叠 "}} "conf for plugins {{ 插件相关的配置 "状态栏的配置 "powerline{ set guifont=PowerlineSymbols\ for\ Powerline set nocompatible set t_Co=256 let g:Powerline_symbols = 'fancy' "} "pathogen是Vim用来管理插件的插件 "pathogen{ call pathogen#infect() "} "winmanager{ let g:winManagerWindowLayout='FileExplorer|TagList' "} "minibuffer{ let g:miniBufExplMapWindowNavVim = 1 "} "grep " "omnicppcomplete { set tags=tags; "智能补全ctags -R --c++-kinds=+p --fields=+iaS --extra=+q let OmniCpp_NamespaceSearch = 1 let OmniCpp_GlobalScopeSearch = 1 let OmniCpp_ShowAccess = 1 let OmniCpp_ShowPrototypeInAbbr = 1 " 显示函数参数列表 let OmniCpp_MayCompleteDot = 1 " 输入 . 后自动补全 let OmniCpp_MayCompleteArrow = 1 " 输入 -> 后自动补全 let OmniCpp_MayCompleteScope = 1 " 输入 :: 后自动补全 let OmniCpp_DefaultNamespaces = ["std", "_GLIBCXX_STD"] " 自动关闭补全窗口 au CursorMovedI,InsertLeave * if pumvisible() == 0|silent! pclose|endif set completeopt=menuone,menu,longest set nocp "} "}} nmap <F2> :WMToggle<CR> "窗口间切换 nmap <F3> :Dox<CR> nmap <F4> :bn<CR> nmap <F5> :only<CR> nmap <F6> :close<CR> nmap <F7> :AV<CR> nmap <F8> :!make<CR> nmap <F12> :!tags<CR> let g:template_autoload = 1 let g:bufExplorerMaxHeight=30 let g:miniBufExplorerMoreThanOne=0 let mapleader = "," let g:mapleader = "," map <leader>1 =a{ nmap <leader>1 =a{ nmap<C-c> "+yy nmap<C-v> "+p """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " CSCOPE settings for vim """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " " This file contains some boilerplate settings for vim's cscope interface, " plus some keyboard mappings that I've found useful. " " USAGE: " -- vim 6: Stick this file in your ~/.vim/plugin directory (or in a " 'plugin' directory in some other directory that is in your " 'runtimepath'. " " -- vim 5: Stick this file somewhere and 'source cscope.vim' it from " your ~/.vimrc file &#40;or cut and paste it into your .vimrc&#41;. " " NOTE: " These key maps use multiple keystrokes (2 or 3 keys). If you find that vim " keeps timing you out before you can complete them, try changing your timeout " settings, as explained below. " " Happy cscoping, " " Jason Duell jduell@alumni.princeton.edu 2002/3/7 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " This tests to see if vim was configured with the '--enable-cscope' option " when it was compiled. If it wasn't, time to recompile vim... if has("cscope") """"""""""""" Standard cscope/vim boilerplate "set csprg=/usr/local/bin/cscope " use both cscope and ctag for 'ctrl-]', ':ta', and 'vim -t' set cscopetag " check cscope for definition of a symbol before checking ctags: set to 1 " if you want the reverse search order. set csto=0 " add any cscope database in current directory if filereadable("cscope.out") cs add cscope.out " else add the database pointed to by environment variable elseif $CSCOPE_DB != "" cs add $CSCOPE_DB else let cscope_file=findfile&#40;"cscope.out", ".;"&#41; let cscope_pre=matchstr(cscope_file, ".*/") if !empty(cscope_file) && filereadable(cscope_file) exe "cs add" cscope_file cscope_pre endif endif " show msg when any other cscope db added set cscopeverbose """"""""""""" My cscope/vim key mappings " " The following maps all invoke one of the following cscope search types: " " 's' symbol: find all references to the token under cursor " 'g' global: find global definition(s) of the token under cursor " 'c' calls: find all calls to the function name under cursor " 't' text: find all instances of the text under cursor " 'e' egrep: egrep search for the word under cursor " 'f' file: open the filename under cursor " 'i' includes: find files that include the filename under cursor " 'd' called: find functions that function under cursor calls " " Below are three sets of the maps: one set that just jumps to your " search result, one that splits the existing vim window horizontally and " diplays your search result in the new window, and one that does the same " thing, but does a vertical split instead (vim 6 only). " " I've used CTRL-\ and CTRL-@ as the starting keys for these maps, as it's " unlikely that you need their default mappings (CTRL-\'s default use is " as part of CTRL-\ CTRL-N typemap, which basically just does the same " thing as hitting 'escape': CTRL-@ doesn't seem to have any default use). " If you don't like using 'CTRL-@' or CTRL-\, , you can change some or all " of these maps to use other keys. One likely candidate is 'CTRL-_' " (which also maps to CTRL-/, which is easier to type). By default it is " used to switch between Hebrew and English keyboard mode. " " All of the maps involving the <cfile> macro use '^<cfile>$': this is so " that searches over '#include <time.h>" return only references to " 'time.h', and not 'sys/time.h', etc. (by default cscope will return all " files that contain 'time.h' as part of their name). " To do the first type of search, hit 'CTRL-\', followed by one of the " cscope search types above (s,g,c,t,e,f,i,d). The result of your cscope " search will be displayed in the current window. You can use CTRL-T to " go back to where you were before the search. " "go there the symbol is exist nmap <leader>s :cs find s <C-R>=expand("<cword>")<CR><CR> nmap <leader>g :cs find g <C-R>=expand("<cword>")<CR><CR> nmap <leader>c :cs find c <C-R>=expand("<cword>")<CR><CR> nmap <leader>t :cs find t <C-R>=expand("<cword>")<CR><CR> nmap <leader>e :cs find e <C-R>=expand("<cword>")<CR><CR> nmap <leader>f :cs find f <C-R>=expand("<cfile>")<CR><CR> nmap <leader>i :cs find i ^<C-R>=expand("<cfile>")<CR>$<CR> nmap <leader>d :cs find d <C-R>=expand("<cword>")<CR><CR> " Using 'CTRL-spacebar' (intepreted as CTRL-@ by vim) then a search type " makes the vim window split horizontally, with search result displayed in " the new window. " " (Note: earlier versions of vim may not have the :scs command, but it " can be simulated roughly via: " nmap <C-@>s <C-W><C-S> :cs find s <C-R>=expand("<cword>")<CR><CR> nmap <C-@>s :scs find s <C-R>=expand("<cword>")<CR><CR> nmap <C-@>g :scs find g <C-R>=expand("<cword>")<CR><CR> nmap <C-@>c :scs find c <C-R>=expand("<cword>")<CR><CR> nmap <C-@>t :scs find t <C-R>=expand("<cword>")<CR><CR> nmap <C-@>e :scs find e <C-R>=expand("<cword>")<CR><CR> nmap <C-@>f :scs find f <C-R>=expand("<cfile>")<CR><CR> nmap <C-@>i :scs find i ^<C-R>=expand("<cfile>")<CR>$<CR> nmap <C-@>d :scs find d <C-R>=expand("<cword>")<CR><CR> " Hitting CTRL-space *twice* before the search type does a vertical " split instead of a horizontal one (vim 6 and up only) " " (Note: you may wish to put a 'set splitright' in your .vimrc " if you prefer the new window on the right instead of the left nmap <C-@><C-@>s :vert scs find s <C-R>=expand("<cword>")<CR><CR> nmap <C-@><C-@>g :vert scs find g <C-R>=expand("<cword>")<CR><CR> nmap <C-@><C-@>c :vert scs find c <C-R>=expand("<cword>")<CR><CR> nmap <C-@><C-@>t :vert scs find t <C-R>=expand("<cword>")<CR><CR> nmap <C-@><C-@>e :vert scs find e <C-R>=expand("<cword>")<CR><CR> nmap <C-@><C-@>f :vert scs find f <C-R>=expand("<cfile>")<CR><CR> nmap <C-@><C-@>i :vert scs find i ^<C-R>=expand("<cfile>")<CR>$<CR> nmap <C-@><C-@>d :vert scs find d <C-R>=expand("<cword>")<CR><CR> """"""""""""" key map timeouts " " By default Vim will only wait 1 second for each keystroke in a mapping. " You may find that too short with the above typemaps. If so, you should " either turn off mapping timeouts via 'notimeout'. " "set notimeout " " Or, you can keep timeouts, by uncommenting the timeoutlen line below, " with your own personal favorite value (in milliseconds): " "set timeoutlen=4000 " " Either way, since mapping timeout settings by default also set the " timeouts for multicharacter 'keys codes' (like <F1>), you should also " set ttimeout and ttimeoutlen: otherwise, you will experience strange " delays as vim waits for a keystroke after you hit ESC (it will be " waiting to see if the ESC is actually part of a key code like <F1>). " "set ttimeout " " personally, I find a tenth of a second to work well for key code " timeouts. If you experience problems and have a slow terminal or network " connection, set it higher. If you don't set ttimeoutlen, the value for " timeoutlent (default: 1000 = 1 second, which is sluggish) is used. " "set ttimeoutlen=100 endif

BI中的abap使用

BI中的abap使用

sap BW开发中例程的使用,abap在sap BI中的使用。

LTE from A-Z 培训教材 (part2 of 3)

LTE from A-Z 培训教材 (part2 of 3)

著名培训机构的LTE培训教材。 深入浅出,从基本概念到深入描述。是一份比较全面的教材。全文367页。有料有内容。是一份难得的教材。 文件比较大,所以拆成3部分。这是part2 LTE from A-Z Technology and Concepts of the 4G 3GPP Standard Table of Content Principles and Motivation of LTE............................................1 1.1 Mobile Radio: Comparison between 3G and 4G..................2 1.1.1 Performance and Mobility Management related Issues..............2 1.1.2 Architecture related Issues..........................................................4 1.1.3 Procedure and Radio related Issues...........................................6 1.2 Requirements on LTE............................................................8 1.2.1 General Requirements................................................................8 1.2.1.1 Support of Enhanced Quadruple Play Services............................10 1.2.1.2 Very High Data Rates @ flexible bandwidth deployment ((1.25) 5 – 20 MHz).....................................................................................................10 1.2.1.3 AIPN and PS services only............................................................10 1.2.2 Important Characteristics of LTE Physical Layer.......................12 1.2.2.1 General Physical Layer Characteristics.........................................12 1.2.2.1.1 OFDM ..................................................................................12 1.2.2.1.2 Scalable Bandwidth..............................................................13 1.2.2.1.3 Smart Antenna Technology..................................................14 1.2.2.1.4 Fast scheduling and AMC.....................................................14 1.2.2.1.5 No Soft(er) handover............................................................14 1.2.3.2 OFDM/OFDMA..............................................................................16 1.2.3.2.1 Traditional narrowband communication................................16 1.2.3.2.2 Problems for wideband signals.............................................1

USB+lib+opencl解码RAW12上位机,QT

USB+lib+opencl解码RAW12上位机,QT

USB+lib+opencl解码RAW12上位机,参考源码

高校科研院所的知识产权如何实现智能化管理?.docx

高校科研院所的知识产权如何实现智能化管理?.docx

科易网基于40亿+科创知识图谱数据库,深度探索AI技术在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,研究科技创新领域的AI+数智化解决方案,推动科技创新与产业创新智能化发展。

自贡市L1到L5五级街道街区分区数据集shp格式数据

自贡市L1到L5五级街道街区分区数据集shp格式数据

本资源为自贡市L1到L5五级街道街区分区数据集SHP格式数据。数据涵盖自贡市全域范围,包含从省级到区级、街道级、社区级、网格级共五级行政区划边界矢量数据,数据精度高、边界清晰完整,包含完整的地名、行政区划代码、面积等属性字段。数据为标准Shapefile格式,可在ArcGIS、QGIS、SuperMap等GIS软件中直接打开编辑,适用于城市规划、人口统计、商业选址、物流配送、区域分析、GIS空间分析等多种应用场景,是城市数字化管理与空间分析的重要基础数据。

高校科技成果如何有效推广?如何精准对接企业需求?.docx

高校科技成果如何有效推广?如何精准对接企业需求?.docx

科易网基于40亿+科创知识图谱数据库,深度探索AI技术在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,研究科技创新领域的AI+数智化解决方案,推动科技创新与产业创新智能化发展。

良龙请柬打印V1.0-批量请柬打印软件 支持扫描底图和Excel名单

良龙请柬打印V1.0-批量请柬打印软件 支持扫描底图和Excel名单

「良龙请柬打印」是一款专为请柬批量打印设计的 Windows 桌面软件,完全免费无捆绑。 核心功能: 底图导入 — 支持导入图片文件或直接扫描实体请柬作为背景底图,按 Ctrl+B 一键切换底图显示/隐藏 文本框编辑 — 自由添加文字框,支持字体、字号、颜色、粗体斜体、对齐方式、行距字间距;传统请柬友好的「竖排文字」模式 字段绑定 — 每个文本框可绑定 Excel 宾客名单中的任意列(尊称、姓名、日期、地点等),导入名单后自动替换 Excel 名单 — 一键生成 10 列标准 Excel 模板(尊称/姓名/性别/阳历/农历/时间/地点/事由/邀请人),智能拆分姓名、判断性别、拆分日期 批量打印 — 预览确认后一键批量打印,每位宾客一份;底图可选是否打印;支持 PDF 导出 印刷精度 — 300dpi 印刷级分辨率,毫米+像素双单位显示,A5(148×210mm) 默认,支持任意尺寸 适用场景: 婚礼请柬、寿宴请柬、升学宴请柬、满月酒请柬、公司年会邀请函、奖状证书等需要批量打印的正式文书 运行环境: Windows 7/10/11(64位),无需安装,解压即用 安装说明: 下载后解压到任意文件夹,双击「良龙请柬打印.exe」启动。如需单文件版,使用「良龙请柬打印_单文件.exe」(体积较大但无需解压)。 视频教程:详细视频教程(约 2 分钟),可以访问:https://www.bilibili.com/video/BV1o2hJ6hE13/?vd_source=2a408bced6c42ce74ae99df05f81f26e

【无人机路径规划】项目介绍 MATLAB实现基于PSO-RRT-GAN粒子群优化算法(PSO)结合快速扩展随机树(RRT)与生成对抗网络(GAN)进行无人机三维路径规划(含模型描述及部分示例代码)

【无人机路径规划】项目介绍 MATLAB实现基于PSO-RRT-GAN粒子群优化算法(PSO)结合快速扩展随机树(RRT)与生成对抗网络(GAN)进行无人机三维路径规划(含模型描述及部分示例代码)

内容概要:本文介绍了一种结合粒子群优化算法(PSO)、快速扩展随机树(RRT)与生成对抗网络(GAN)的混合算法——PSO-RRT-GAN,用于解决无人机在复杂三维环境中的路径规划问题。该方法通过RRT实现起点到终点的连通性搜索,生成初步可行路径;利用GAN从大量平滑轨迹样本中学习路径分布特征,生成具有先验结构的候选路径以提升种群多样性;再将RRT路径与GAN生成路径融合初始化PSO种群,通过多目标代价函数对路径长度、障碍物距离、平滑度、安全性等指标进行优化,最终输出高质量、可执行的三维飞行路径。系统采用MATLAB实现,包含环境建模、碰撞检测、路径评价与三维可视化模块,并提供了完整的代码框架和模型描述。; 适合人群:具备一定算法基础和MATLAB编程能力,从事无人机路径规划、智能优化算法或人工智能相关研究的研究生、科研人员及工程技术人员,尤其适合工作1-3年希望深入理解混合智能算法集成设计的研发人员。; 使用场景及目标:① 在复杂三维城市环境或野外地形中为无人机规划安全、高效、平滑的飞行路径;② 研究PSO、RRT与GAN三种算法的协同机制,探索如何将深度学习先验知识引入传统优化流程以提升搜索效率;③ 作为无人机自主导航系统的算法原型,支持后续拓展至动态避障、实时重规划与动力学约束集成。; 阅读建议:此资源以MATLAB代码驱动,强调算法集成与工程实现,建议读者结合提供的示例代码运行调试,重点理解RRT的连通性保障机制、GAN的路径先验学习方式以及PSO的多目标优化策略,同时关注碰撞检测、路径编码与代价函数设计等关键技术细节,以便在实际项目中灵活迁移应用。

最新推荐最新推荐

recommend-type

如何利用AI技术赋能高校院所的科技成果转化全流程?.docx

如何利用AI技术赋能高校院所的科技成果转化全流程?
recommend-type

android点击查看大图,ViewPager左右滑动切换缩放图片

源码下载地址: https://pan.quark.cn/s/a4b39357ea24 在Android系统应用程序开发过程中,有时需要为用户设计查看较大图像的界面,比如在照片库应用或电商产品详情界面。本案例主要介绍如何运用ViewPager组件实现左右滑动切换图片,同时结合手势操作支持图片的缩放功能。下面将详细阐述这一功能的实现细节: `ViewPager`是Android软件开发工具包中提供的一个控件,它能够让用户在多个页面之间进行左右滑动以切换内容。在本应用场景中,每个页面都将展示一张图片。`ViewPager`通过适配器(通常是一个继承自`PagerAdapter`的自定义类)来提供页面内容,适配器负责加载和管理图片数据。 为了实现图片查看大图并支持手势缩放,一般会用到`ImageView`组件和`ScaleGestureDetector`类。`ImageView`是用于显示图片的基本组件,而`ScaleGestureDetector`能够帮助我们识别用户的缩放手势,从而实现图片的放大和缩小操作。 实现这一功能的步骤如下: 1. 构建一个自定义的`PagerAdapter`子类,例如`ImagePagerAdapter`,它将负责将图片数据加载到`ViewPager`的各个页面中。在`Invalidate()`方法里,我们可以依据当前页的索引加载对应的图片资源。 2. 在`PagerAdapter`的`instantiateItem()`方法中,为每个页面创建一个新的`ImageView`实例,并将其添加到`ViewPager`的布局结构中。设定`ImageView`的初始图片资源。 3. 对每个`ImageView`,我们可以使用`GestureDet...
recommend-type

Super5-3.7z 001/003 unity插件

Super5_3.7z 001/003 unity插件
recommend-type

华为杯历年优秀论文(2010-2020年)

《华为杯历年优秀论文》是一份收录了华为杯研究生数学建模大赛2010年至2020年间优秀论文的压缩包合集。它既是赛事成果的集中展示,也是数学建模领域一份珍贵的教育资源。以下从赛事背景、论文价值、年度特征和学习意义几个方面重新梳理。 一、赛事定位与论文集的由来 华为杯数学建模大赛是一项面向硕士研究生的创新型实践类赛事,由华为公司主办。比赛的核心目的在于培养和提升研究生的创新意识、团队协作能力以及运用数学方法解决实际问题的能力。赛题通常横跨自然科学、工程技术、经济管理等多个领域,要求参赛者在有限时间内完成从问题分析到模型构建、求解、验证的全过程。 《华为杯历年优秀论文》正是这项赛事多年沉淀的结晶。它按年度汇编,收录了2010年至2020年间每年的优秀参赛论文,形成了一套时间跨度长、覆盖面广的论文选集。 二、论文集的年度特征 由于赛题紧跟时代热点,不同年份的论文选呈现出不同的关注焦点: 2010年前后:论文选题多围绕当年的热点问题展开,参赛者运用数学工具对这些现实问题进行了深入探讨。 2015年前后:随着大数据、人工智能等新兴技术的兴起,论文中开始出现数学建模在新背景下的应用探索,反映了技术浪潮对建模方法的推动。 2020年:论文选则可能体现了新冠疫情等全球性事件对数学建模选题和研究视角带来的影响与启示。 这种年度差异使得整套论文集不仅是论文的堆砌,更是一份记录数学建模应用演进的时间档案。 三、优秀论文的价值所在 每一年的论文选集都是对当年赛事的全面回顾,其中的优秀论文往往体现出参赛者独特的视角和深度的思考。其价值主要体现在两个层面: 对后来参赛者而言,这些论文提供了可参考、可借鉴的实例,有助于理解和掌握数学建模的基本步骤与策略——从问题的识别和定义,到模型的建立、求解和验证,再到结果的解释和应用。 对教师和研究者而言,这些论文是教学案例分析和研究的重要资料,有
recommend-type

全球数据隐私保护解决方案市场竞争格局、应用结构及发展趋势分析.docx

全球数据隐私保护解决方案市场竞争格局、应用结构及发展趋势分析
recommend-type

学生成绩管理系统C++课程设计与实践

资源摘要信息:"学生成绩信息管理系统-C++(1).doc" 1. 系统需求分析与设计 在进行学生成绩信息管理系统开发前,首先需要进行系统需求分析,这是确定系统开发目标与范围的过程。需求分析应包括数据需求和功能需求两个方面。 - 数据需求分析: - 学生成绩信息:需要收集学生的姓名、学号、课程成绩等数据。 - 数据类型和长度:明确每个数据项的数据类型(如字符串、整型等)和长度,例如学号可能是字符串类型且长度为一定值。 - 描述:详细描述每个数据项的意义,以确保系统能够准确处理。 - 功能需求分析: - 列出功能列表:用户界面应提供清晰的操作指引,列出所有可用功能。 - 查询学生成绩:系统应能通过学号或姓名查询学生的成绩信息。 - 增加学生成绩信息:允许用户添加未保存的学生成绩信息。 - 删除学生成绩信息:能够通过学号或姓名删除已经保存的成绩信息。 - 修改学生成绩信息:通过学号或姓名修改已有的成绩记录。 - 退出程序:提供安全退出程序的选项,并确保所有修改都已保存。 2. 系统设计 系统设计阶段主要完成内存数据结构设计、数据文件设计、代码设计、输入输出设计、用户界面设计和处理过程设计。 - 内存数据结构设计: - 使用链表结构组织内存中的数据,便于动态增删查改操作。 - 数据文件设计: - 选择文本文件存储数据,便于查看和编辑。 - 代码设计: - 根据功能需求,编写相应的函数和模块。 - 输入输出设计: - 设计简洁明了的输入输出提示信息和操作流程。 - 用户界面设计: - 用户界面应为字符界面,方便在命令行环境下使用。 - 处理过程设计: - 设计数据处理流程,确保每个操作都有明确的处理逻辑。 3. 系统实现与测试 实现阶段需要根据设计阶段的成果编写程序代码,并进行系统测试。 - 程序编写: - 完成系统设计中所有功能的程序代码编写。 - 系统测试: - 设计测试用例,通过测试用例上机测试系统。 - 记录测试方法和测试结果,确保系统稳定可靠。 4. 设计报告撰写 最后,根据系统开发的各个阶段,撰写详细的设计报告。 - 系统描述:包括问题说明、数据需求和功能需求。 - 系统设计:详细记录内存数据结构设计、数据文件设计、代码设计、输入/输出设计、用户界面设计、处理过程设计。 - 系统测试:包括测试用例描述、测试方法和测试结果。 - 设计特点、不足、收获和体会:反思整个开发过程,总结经验和教训。 时间安排: - 第19周(7月12日至7月16日)完成项目。 - 7月9日8:00到计算机学院实验中心(三楼)提交程序和课程设计报告。 指导教师和系主任(或责任教师)需要在文档上签名确认。 系统需求分析: - 使用表格记录系统需求分析的结果,包括数据项、数据类型、数据长度和描述。 - 分析数据项如学生成绩信息、状态器、链表节点等,确定其属性和行为。 以上就是文档中提到的学生成绩信息管理系统开发的关键知识点。开发此类系统需要熟练掌握C++编程基础,了解面向对象的程序设计思想,以及熟悉文件操作和链表等数据结构的应用。此外,良好的软件开发流程意识、测试意识和文档撰写能力也是必不可少的。
recommend-type

别再手动拖拽了!用Lumerical脚本批量创建FDTD仿真结构(附完整代码)

# 告别低效建模:Lumerical脚本自动化实战指南 在光子学仿真领域,时间就是科研生命线。当同行还在GUI界面里反复点击菜单时,你已经用脚本批量生成了20组参数化结构——这不是未来场景,而是每位FDTD用户都应该掌握的基础生产力革命。本文将彻底改变你与Lumerical的交互方式,从手动拖拽的农耕时代,跃迁到自动化建模的工业文明。 ## 1. 为何脚本建模是必然选择 2019年Nature Photonics的一项研究显示,科研工作者在仿真工具上平均浪费37%的时间在重复性操作上。对于需要参数扫描的纳米光学结构设计,这个数字可能更高。手动创建10个不同尺寸的纳米柱阵列意味着: -
recommend-type

Java邮件解析任务中,如何安全高效地提取HTML邮件内容并避免硬编码、资源泄漏和类型转换异常?

<think>我们被要求优化一段Java代码,该代码用于处理邮件(特别是来自特定发件人的构建通知邮件)。代码的主要问题包括: 1. 重复获取邮件内容:在检查MIME类型后,多次调用`msg[i].getContent()`,这可能导致性能问题或流关闭异常。 2. 类型转换问题:直接将邮件内容转换为`Multipart`而不进行类型检查,可能引发`ClassCastException`。 3. 代码结构问题:逻辑嵌套过深,可读性差,且存在重复代码(如插入邮件详情的操作在两个地方都有)。 4. 硬编码和魔法值:例如在解析HTML表格时使用了硬编码的索引(如list3.get(10)),这容易因邮件
recommend-type

RH公司应收账款管理优化策略研究

资源摘要信息:"本文针对RH公司的应收账款管理问题进行了深入研究,并提出了改进策略。文章首先分析了应收账款在企业管理中的重要性,指出其对于提高企业竞争力、扩大销售和充分利用生产能力的作用。然后,以RH公司为例,探讨了公司应收账款管理的现状,并识别出合同管理、客户信用调查等方面的不足。在此基础上,文章提出了一系列改善措施,包括完善信用政策、改进业务流程、加强信用调查和提高账款回收力度。特别强调了建立专门的应收账款回收部门和流程的重要性,并建议在实际应用过程中进行持续优化。同时,文章也意识到企业面临复杂多变的内外部环境,因此提出的策略需要根据具体情况调整和优化。 针对财务管理领域的专业学生和从业者,本文提供了一个关于应收账款管理问题的案例研究,具有实际指导意义。文章还探讨了信用管理和征信体系在应收账款管理中的作用,强调了它们对于提升企业信用风险控制和市场竞争能力的重要性。通过对比国内外企业在应收账款管理上的差异,文章总结了适合中国企业实际环境的应收账款管理方法和策略。" 根据提供的文件内容,以下是详细的知识点: 1. 应收账款管理的重要性:应收账款作为企业的一项重要资产,其有效管理关系到企业的现金流、财务健康以及市场竞争力。不良的应收账款管理会导致资金链断裂、坏账损失增加等问题,严重影响企业的正常运营和长远发展。 2. 应收账款的信用风险:在信用交易日益频繁的商业环境中,企业必须对客户信用进行评估,以便采取合理的信用政策,降低信用风险。 3. 合同管理的薄弱环节:合同是应收账款管理的法律基础,严格的合同管理能够保障企业权益,减少因合同问题导致的应收账款风险。 4. 客户信用调查:了解客户的信用状况对于预测和控制应收账款风险至关重要。企业需要建立有效的客户信用调查机制,识别和筛选信用良好的客户。 5. 应收账款回收策略:企业应建立有效的账款回收机制,包括定期的账款跟进、逾期账款的催收等。同时,建立专门的应收账款回收部门可以提升回收效率。 6. 应收账款管理流程优化:通过改进企业内部管理流程,如简化审批流程、提高工作效率等措施,能够提升应收账款的管理效率。 7. 应收账款管理策略的调整和优化:由于企业的内外部环境复杂多变,因此制定的管理策略需要根据实际情况进行动态调整和持续优化。 8. 信用管理和征信体系的作用:建立和完善企业内部信用管理体系和征信体系,有助于企业更好地控制信用风险,并在市场竞争中占据有利地位。 9. 对比国内外应收账款管理实践:通过研究国内外企业在应收账款管理上的不同做法和经验,可以借鉴先进的管理理念和方法,提升国内企业的应收账款管理水平。 综上所述,本文深入探讨了应收账款管理的多个方面,为RH公司乃至其他同类型企业提供了应收账款管理的改进方向和策略,对于财务管理专业的教育和实践都具有重要的参考价值。
recommend-type

新手别慌!用BingPi-M2开发板带你5分钟搞懂Tina Linux SDK目录结构

# 新手别慌!用BingPi-M2开发板带你5分钟搞懂Tina Linux SDK目录结构 第一次拿到BingPi-M2开发板时,面对Tina Linux SDK里密密麻麻的文件夹,我完全不知道从哪下手。就像走进一个陌生的大仓库,每个货架上都堆满了工具和零件,却找不到操作手册。这种困惑持续了整整两天,直到我意识到——理解目录结构比死记硬背每个文件更重要。 ## 1. 为什么SDK目录结构如此重要 想象你正在组装一台复杂的模型飞机。如果所有零件都混在一个箱子里,你需要花大量时间寻找每个螺丝和面板。但如果有分门别类的隔层,标注着"机身部件"、"电子设备"、"紧固件",组装效率会成倍提升。Ti