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

📄 data_generator.c

📁 bch encoder+decoder 源代码
💻 C
字号:
/*******************************************************************************
*
*    File Name:  data_generator.c
*     Revision:  1.0
*         Date:  August, 2006
*        Email:  nandsupport@micron.com
*      Company:  Micron Technology, Inc.
*
*  Description:  HEX data generator
*	Generate regular bytes 1111 2222 3333 4444 ....
* 	for easy checking of decoding result
* 	or random data can be generated by random mode
**
*   Disclaimer   This software code and all associated documentation, comments or other 
*  of Warranty:  information (collectively "Software") is provided "AS IS" without 
*                warranty of any kind. MICRON TECHNOLOGY, INC. ("MTI") EXPRESSLY 
*                DISCLAIMS ALL WARRANTIES EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED 
*                TO, NONINFRINGEMENT OF THIRD PARTY RIGHTS, AND ANY IMPLIED WARRANTIES 
*                OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE. MTI DOES NOT 
*                WARRANT THAT THE SOFTWARE WILL MEET YOUR REQUIREMENTS, OR THAT THE 
*                OPERATION OF THE SOFTWARE WILL BE UNINTERRUPTED OR ERROR-FREE. 
*                FURTHERMORE, MTI DOES NOT MAKE ANY REPRESENTATIONS REGARDING THE USE OR 
*                THE RESULTS OF THE USE OF THE SOFTWARE IN TERMS OF ITS CORRECTNESS, 
*                ACCURACY, RELIABILITY, OR OTHERWISE. THE ENTIRE RISK ARISING OUT OF USE 
*                OR PERFORMANCE OF THE SOFTWARE REMAINS WITH YOU. IN NO EVENT SHALL MTI, 
*                ITS AFFILIATED COMPANIES OR THEIR SUPPLIERS BE LIABLE FOR ANY DIRECT, 
*                INDIRECT, CONSEQUENTIAL, INCIDENTAL, OR SPECIAL DAMAGES (INCLUDING, 
*                WITHOUT LIMITATION, DAMAGES FOR LOSS OF PROFITS, BUSINESS INTERRUPTION, 
*                OR LOSS OF INFORMATION) ARISING OUT OF YOUR USE OF OR INABILITY TO USE 
*                THE SOFTWARE, EVEN IF MTI HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH 
*                DAMAGES. Because some jurisdictions prohibit the exclusion or 
*                limitation of liability for consequential or incidental damages, the 
*                above limitation may not apply to you.
*
*                Copyright 2006 Micron Technology, Inc. All rights reserved.
*                
*
* Rev  Author		Date		Changes
* ---  ---------------	----------	-------------------------------
* 1.0  ZS		08/07/2006	Initial release
* 
* 
/*******************************************************************************
*/

#include "BCH_Global.c"

int main(int argc,  char** argv)
{	int n ;		// Length of generated data in bytes 
	int i, Temp ;
	int Help;
	int Random ;	// Random mode
	
	fprintf(stderr, "# Data generator.  Use -h for details.\n\n");
	
	Random = 0;
	Help = 0;
	n = 64 ;
	for (i=1; i < argc;i++) 
	{	if (argv[i][0] == '-') 
		{	switch (argv[i][1]) 
			{	case 'n': n = atoi(argv[++i]);
					break;
				case 'r': Random = 1;
					break;
				default: Help = 1;
			}
		}
		else 
			Help = 1;
	}
	
	if (Help == 1)
	{	fprintf(stdout,"# Usage %s:  BCH data generator\n",argv[0]);
		fprintf(stdout,"    -h:  This help message\n");
		fprintf(stdout,"    -n <bytes>:  Number of bytes that will be generated.  Default = %d \n", n);
		fprintf(stdout,"    	  Output is 2*n HEX regular characters.\n");
		fprintf(stdout,"    -r   Random mode generator.  Will output random HEX characters.\n");
		fprintf(stdout,"    <stdout>:  resulting generated character string in hex format.\n");
		fprintf(stdout,"    <stderr>:  information about the generation process as well as error messages\n");
	}
	else
	{	if (Random == 0)
		{	fprintf(stdout, "{ Regular mode generator.}\n");
			fprintf(stdout, "{ %d bytes generated.}\n\n", n);
			for (i = 1; i <= n/2 ; i++)
			{	Temp = inttohex(i % 16);
				fprintf(stdout, "%c%c%c%c", Temp, Temp, Temp, Temp );
				if (i%16 ==0 )
					fprintf(stdout, "\n");
			}
		}
		else
		{	fprintf(stdout, "{ Random mode generator.}\n");
			fprintf(stdout, "{ %d bytes generated.}\n\n", n);
			for (i = 1; i <= n * 2 ; i++)
			{	Temp = rand() % 16 ; 
				Temp = inttohex(Temp);
				fprintf(stdout, "%c", Temp );
				if (i%64 ==0 )
					fprintf(stdout, "\n");
			}
		}
	}
	
	return(0);
}

⌨️ 快捷键说明

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