{"title":"Automated development tools for linux USB drivers","authors":"K. Lin, T. Lin","doi":"10.1109/ISCE.2010.5523719","DOIUrl":null,"url":null,"abstract":"USB devices are widely used in consumer electronics. Writing device drivers has always been a tedious and error-prone job. This paper presents assisting tools for developing USB drivers under Linux OS. The tool kit includes (1) a generic-skeleton generator that can automatically generate generic USB driver code skeleton according to user-specified configuration, (2) a flattened-HID-driver generator that can merge stacked HID drivers to a monolithic driver and prune C codes to reduce size and response time for embedded applications, and (3) an ECP (Extended C Preprocessor) compiler that provides type-checking capability for low-level I/O operation and makes the driver code more readable.","PeriodicalId":403652,"journal":{"name":"IEEE International Symposium on Consumer Electronics (ISCE 2010)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2010-06-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"4","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"IEEE International Symposium on Consumer Electronics (ISCE 2010)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ISCE.2010.5523719","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 4
Abstract
USB devices are widely used in consumer electronics. Writing device drivers has always been a tedious and error-prone job. This paper presents assisting tools for developing USB drivers under Linux OS. The tool kit includes (1) a generic-skeleton generator that can automatically generate generic USB driver code skeleton according to user-specified configuration, (2) a flattened-HID-driver generator that can merge stacked HID drivers to a monolithic driver and prune C codes to reduce size and response time for embedded applications, and (3) an ECP (Extended C Preprocessor) compiler that provides type-checking capability for low-level I/O operation and makes the driver code more readable.