def METHOD_NAME(ppn_files, header_file_folders):
    script_dir = os.path.dirname(os.path.abspath(__file__))
    repo_dir = os.path.join(script_dir, '../..')
    for header_file_path in header_file_folders:
        header_file = os.path.join(header_file_path, 'pv_params.h')
        with open(os.path.join(script_dir, header_file), 'w') as f_out:
            f_out.write(HEADER)
            for language, keywords in ppn_files.items():
                if language == 'en':
                    ppn_dir = os.path.join(repo_dir, 'resources/keyword_files/cortexm')
                else:
                    ppn_dir = os.path.join(repo_dir, f'resources/keyword_files_{language}/cortexm')
                f_out.write(f'#if defined(__PV_LANGUAGE_{LANGUAGE_CODE_TO_NAME[language].upper()}__)\n\n')
                for index, keyword in enumerate(keywords):
                    keyword_file_path = os.path.join(ppn_dir, keyword + '_cortexm.ppn')
                    ppn_c_array = ppn_to_c_array(keyword_file_path)
                    f_out.write(f'// Wake-word = {keyword}\n')
                    if index == 0:
                        f_out.write('static const uint8_t DEFAULT_KEYWORD_ARRAY[] '
                                    '__attribute__ ((aligned (16))) = {\n')
                    else:
                        f_out.write(
                            f'static const uint8_t {keyword.upper()}_KEYWORD_ARRAY[] '
                            '__attribute__ ((aligned (16))) = {\n')
                    f_out.write('\n'.join(ppn_c_array))
                    f_out.write('};\n\n')
                f_out.write('#endif\n\n')
            f_out.write(FOOTER)